diff --git a/source/java/org/alfresco/cmis/CMISResultSet.java b/source/java/org/alfresco/cmis/CMISResultSet.java index 832a18ee7f..2c3cc81be9 100644 --- a/source/java/org/alfresco/cmis/CMISResultSet.java +++ b/source/java/org/alfresco/cmis/CMISResultSet.java @@ -30,12 +30,13 @@ package org.alfresco.cmis; * A CMIS result set * * @author andyh + * */ public interface CMISResultSet extends Iterable { /** * Get the result set meta-data. - * @return the metadata + * @return */ public CMISResultSetMetaData getMetaData(); @@ -43,7 +44,7 @@ public interface CMISResultSet extends Iterable * Get the start point for this results set in the overall * set of rows that match the query - this will be equal to the skip count * set when executing the query. - * @return the start position + * @return */ public int getStart(); @@ -56,7 +57,7 @@ public interface CMISResultSet extends Iterable * If a skip count is given, the length represents the number of results * after the skip count and does not include the items skipped. * - * @return the length + * @return */ public int getLength(); @@ -69,7 +70,7 @@ public interface CMISResultSet extends Iterable /** * Was this result set curtailed - are there more pages to the result set? - * @return true if there are more results + * @return */ public boolean hasMore(); @@ -77,7 +78,7 @@ public interface CMISResultSet extends Iterable /** * Get the given row * @param i -the position in this result set - start + i gives the position in the overall result set - * @return the row + * @return */ public CMISResultSetRow getRow(int i); diff --git a/source/java/org/alfresco/cmis/CMISResultSetRow.java b/source/java/org/alfresco/cmis/CMISResultSetRow.java index 08e5cbf824..c9f785f416 100644 --- a/source/java/org/alfresco/cmis/CMISResultSetRow.java +++ b/source/java/org/alfresco/cmis/CMISResultSetRow.java @@ -39,7 +39,7 @@ public interface CMISResultSetRow { /** * Get all the column data. - * @return - a map of serializable column values with the column name as the key + * @return - a map of serializable column values with teh column name as the key */ public Map getValues(); @@ -53,12 +53,12 @@ public interface CMISResultSetRow /** * Get the overall score. * - * @return the overall score + * @return */ public float getScore(); /** - * Get the scores. + * Get the scores . * @return a map of selector name to score. */ public Map getScores(); @@ -85,8 +85,8 @@ public interface CMISResultSetRow /** * Get the index of this result set in the result set - * If you want the overall position in paged results you have to add the skipCount fo the result set. - * @return the index of the row. + * If you want the overall position in paged reults you have to add the skipCount fo the result set. + * @return */ public int getIndex(); diff --git a/source/java/org/alfresco/cmis/mapping/AbstractSimpleProperty.java b/source/java/org/alfresco/cmis/mapping/AbstractSimpleProperty.java index 5c7cdfcf9a..3639342720 100644 --- a/source/java/org/alfresco/cmis/mapping/AbstractSimpleProperty.java +++ b/source/java/org/alfresco/cmis/mapping/AbstractSimpleProperty.java @@ -27,7 +27,6 @@ package org.alfresco.cmis.mapping; import java.io.Serializable; import java.util.Collection; -import org.alfresco.repo.search.impl.lucene.AnalysisMode; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.service.ServiceRegistry; @@ -78,7 +77,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty */ public Query buildLuceneEquality(LuceneQueryParser lqp, Serializable value, PredicateMode mode) throws ParseException { - return lqp.getFieldQuery(getLuceneFieldName(), getValueAsString(value), AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(getLuceneFieldName(), getValueAsString(value)); } /* @@ -89,11 +88,11 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { if (not) { - return lqp.getFieldQuery("ISNULL", getQNameForExists().toString(), AnalysisMode.DEFAULT); + return lqp.getFieldQuery("ISNULL", getQNameForExists().toString()); } else { - return lqp.getFieldQuery("ISNOTNULL", getQNameForExists().toString(), AnalysisMode.DEFAULT); + return lqp.getFieldQuery("ISNOTNULL", getQNameForExists().toString()); } } @@ -105,7 +104,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getRangeQuery(field, stringValue, getRangeMax(), false, true, AnalysisMode.IDENTIFIER); + return lqp.getRangeQuery(field, stringValue, getRangeMax(), false, true); } /* @@ -116,7 +115,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getRangeQuery(field, stringValue, getRangeMax(), true, true, AnalysisMode.IDENTIFIER); + return lqp.getRangeQuery(field, stringValue, getRangeMax(), true, true); } /* @@ -149,11 +148,11 @@ public abstract class AbstractSimpleProperty extends AbstractProperty String value = asStrings.iterator().next(); if (not) { - return lqp.getDoesNotMatchFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, value); } else { - return lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, value); } } else @@ -165,7 +164,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty } for (String value : asStrings) { - Query any = lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + Query any = lqp.getFieldQuery(field, value); if (not) { booleanQuery.add(any, Occur.MUST_NOT); @@ -187,7 +186,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getDoesNotMatchFieldQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, stringValue); } /* @@ -198,7 +197,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getRangeQuery(field, getRangeMin(), stringValue, true, false, AnalysisMode.IDENTIFIER); + return lqp.getRangeQuery(field, getRangeMin(), stringValue, true, false); } /* @@ -209,7 +208,7 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getRangeQuery(field, getRangeMin(), stringValue, true, true, AnalysisMode.IDENTIFIER); + return lqp.getRangeQuery(field, getRangeMin(), stringValue, true, true); } /* @@ -225,12 +224,12 @@ public abstract class AbstractSimpleProperty extends AbstractProperty { BooleanQuery booleanQuery = new BooleanQuery(); booleanQuery.add(new MatchAllDocsQuery(), Occur.MUST); - booleanQuery.add(lqp.getLikeQuery(field, stringValue, AnalysisMode.IDENTIFIER), Occur.MUST_NOT); + booleanQuery.add(lqp.getLikeQuery(field, stringValue), Occur.MUST_NOT); return booleanQuery; } else { - return lqp.getLikeQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getLikeQuery(field, stringValue); } } diff --git a/source/java/org/alfresco/cmis/mapping/ObjectIdProperty.java b/source/java/org/alfresco/cmis/mapping/ObjectIdProperty.java index d95793be08..af1a126e05 100644 --- a/source/java/org/alfresco/cmis/mapping/ObjectIdProperty.java +++ b/source/java/org/alfresco/cmis/mapping/ObjectIdProperty.java @@ -30,7 +30,6 @@ import java.util.Collection; import org.alfresco.cmis.CMISDictionaryModel; import org.alfresco.cmis.CMISQueryException; import org.alfresco.model.ContentModel; -import org.alfresco.repo.search.impl.lucene.AnalysisMode; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.service.ServiceRegistry; @@ -105,7 +104,7 @@ public class ObjectIdProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getFieldQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, stringValue); } /* @@ -172,11 +171,11 @@ public class ObjectIdProperty extends AbstractProperty String value = asStrings.iterator().next(); if (not) { - return lqp.getDoesNotMatchFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, value); } else { - return lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, value); } } else @@ -188,7 +187,7 @@ public class ObjectIdProperty extends AbstractProperty } for (String value : asStrings) { - Query any = lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + Query any = lqp.getFieldQuery(field, value); if (not) { booleanQuery.add(any, Occur.MUST_NOT); @@ -210,7 +209,7 @@ public class ObjectIdProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getDoesNotMatchFieldQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, stringValue); } /* @@ -246,12 +245,12 @@ public class ObjectIdProperty extends AbstractProperty { BooleanQuery booleanQuery = new BooleanQuery(); booleanQuery.add(new MatchAllDocsQuery(), Occur.MUST); - booleanQuery.add(lqp.getLikeQuery(field, stringValue, AnalysisMode.IDENTIFIER), Occur.MUST_NOT); + booleanQuery.add(lqp.getLikeQuery(field, stringValue), Occur.MUST_NOT); return booleanQuery; } else { - return lqp.getLikeQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getLikeQuery(field, stringValue); } } diff --git a/source/java/org/alfresco/cmis/mapping/ObjectTypeIdProperty.java b/source/java/org/alfresco/cmis/mapping/ObjectTypeIdProperty.java index c6745cf7f9..f4f7392786 100644 --- a/source/java/org/alfresco/cmis/mapping/ObjectTypeIdProperty.java +++ b/source/java/org/alfresco/cmis/mapping/ObjectTypeIdProperty.java @@ -31,7 +31,6 @@ import java.util.Collection; import org.alfresco.cmis.CMISDictionaryModel; import org.alfresco.cmis.CMISQueryException; import org.alfresco.cmis.CMISTypeDefinition; -import org.alfresco.repo.search.impl.lucene.AnalysisMode; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.service.ServiceRegistry; @@ -97,7 +96,7 @@ public class ObjectTypeIdProperty extends AbstractProperty String field = getLuceneFieldName(); String stringValue = getValueAsString(value); CMISTypeDefinition type = getServiceRegistry().getCMISDictionaryService().findType(stringValue); - return lqp.getFieldQuery(field, type.getTypeId().getQName().toString(), AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, type.getTypeId().getQName().toString()); } /* @@ -166,11 +165,11 @@ public class ObjectTypeIdProperty extends AbstractProperty String value = asStrings.iterator().next(); if (not) { - return lqp.getDoesNotMatchFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, value); } else { - return lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, value); } } else @@ -182,7 +181,7 @@ public class ObjectTypeIdProperty extends AbstractProperty } for (String value : asStrings) { - Query any = lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + Query any = lqp.getFieldQuery(field, value); if (not) { booleanQuery.add(any, Occur.MUST_NOT); @@ -205,7 +204,7 @@ public class ObjectTypeIdProperty extends AbstractProperty String field = getLuceneFieldName(); String stringValue = getValueAsString(value); CMISTypeDefinition type = getServiceRegistry().getCMISDictionaryService().findType(stringValue); - return lqp.getDoesNotMatchFieldQuery(field, type.getTypeId().getQName().toString(), AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, type.getTypeId().getQName().toString()); } /* @@ -241,12 +240,12 @@ public class ObjectTypeIdProperty extends AbstractProperty { BooleanQuery booleanQuery = new BooleanQuery(); booleanQuery.add(new MatchAllDocsQuery(), Occur.MUST); - booleanQuery.add(lqp.getLikeQuery(field, typeQName, AnalysisMode.IDENTIFIER), Occur.MUST_NOT); + booleanQuery.add(lqp.getLikeQuery(field, typeQName), Occur.MUST_NOT); return booleanQuery; } else { - return lqp.getLikeQuery(field, typeQName, AnalysisMode.IDENTIFIER); + return lqp.getLikeQuery(field, typeQName); } } diff --git a/source/java/org/alfresco/cmis/mapping/ParentProperty.java b/source/java/org/alfresco/cmis/mapping/ParentProperty.java index 954c37ed6d..3c7cfc069d 100644 --- a/source/java/org/alfresco/cmis/mapping/ParentProperty.java +++ b/source/java/org/alfresco/cmis/mapping/ParentProperty.java @@ -28,7 +28,6 @@ import java.io.Serializable; import java.util.Collection; import org.alfresco.cmis.CMISDictionaryModel; -import org.alfresco.repo.search.impl.lucene.AnalysisMode; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.service.ServiceRegistry; @@ -104,7 +103,7 @@ public class ParentProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getFieldQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, stringValue); } /* @@ -153,11 +152,11 @@ public class ParentProperty extends AbstractProperty String value = asStrings.iterator().next(); if (not) { - return lqp.getDoesNotMatchFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, value); } else { - return lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + return lqp.getFieldQuery(field, value); } } else @@ -169,7 +168,7 @@ public class ParentProperty extends AbstractProperty } for (String value : asStrings) { - Query any = lqp.getFieldQuery(field, value, AnalysisMode.IDENTIFIER); + Query any = lqp.getFieldQuery(field, value); if (not) { booleanQuery.add(any, Occur.MUST_NOT); @@ -191,7 +190,7 @@ public class ParentProperty extends AbstractProperty { String field = getLuceneFieldName(); String stringValue = getValueAsString(value); - return lqp.getDoesNotMatchFieldQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getDoesNotMatchFieldQuery(field, stringValue); } @@ -208,12 +207,12 @@ public class ParentProperty extends AbstractProperty { BooleanQuery booleanQuery = new BooleanQuery(); booleanQuery.add(new MatchAllDocsQuery(), Occur.MUST); - booleanQuery.add(lqp.getLikeQuery(field, stringValue, AnalysisMode.IDENTIFIER), Occur.MUST_NOT); + booleanQuery.add(lqp.getLikeQuery(field, stringValue), Occur.MUST_NOT); return booleanQuery; } else { - return lqp.getLikeQuery(field, stringValue, AnalysisMode.IDENTIFIER); + return lqp.getLikeQuery(field, stringValue); } } diff --git a/source/java/org/alfresco/cmis/search/CMISQueryParser.java b/source/java/org/alfresco/cmis/search/CMISQueryParser.java index 7541b21d98..115c288c96 100644 --- a/source/java/org/alfresco/cmis/search/CMISQueryParser.java +++ b/source/java/org/alfresco/cmis/search/CMISQueryParser.java @@ -382,7 +382,7 @@ public class CMISQueryParser throw new CMISQueryException("A selector must be specified when there are two or more selectors"); } } - return ftsQueryParser.buildFTS(ftsExpression.substring(1, ftsExpression.length() - 1), factory, functionEvaluationContext, selector, columns, Connective.OR, Connective.OR, null); + return ftsQueryParser.buildFTS(ftsExpression.substring(1, ftsExpression.length() - 1), factory, functionEvaluationContext, selector, columns, Connective.OR, Connective.OR); case CMISParser.PRED_IN: functionName = In.NAME; function = factory.getFunction(functionName); diff --git a/source/java/org/alfresco/cmis/search/QueryTest.java b/source/java/org/alfresco/cmis/search/QueryTest.java index 68a2625519..aeae5377eb 100644 --- a/source/java/org/alfresco/cmis/search/QueryTest.java +++ b/source/java/org/alfresco/cmis/search/QueryTest.java @@ -149,7 +149,6 @@ public class QueryTest extends BaseCMISTest properties1.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties1.put(ContentModel.PROP_DESCRIPTION, desc1); properties1.put(ContentModel.PROP_TITLE, desc1); - properties1.put(ContentModel.PROP_NAME, "AA"); properties1.put(ContentModel.PROP_CREATED, new Date()); NodeRef c1 = nodeService.createNode(f1, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "One", namespaceService), ContentModel.TYPE_CONTENT, properties1) .getChildRef(); @@ -166,7 +165,6 @@ public class QueryTest extends BaseCMISTest properties2.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties2.put(ContentModel.PROP_DESCRIPTION, desc2); properties2.put(ContentModel.PROP_TITLE, desc2); - properties2.put(ContentModel.PROP_NAME, "BB"); properties2.put(ContentModel.PROP_CREATED, new Date()); NodeRef c2 = nodeService.createNode(f2, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Two", namespaceService), ContentModel.TYPE_CONTENT, properties2) .getChildRef(); @@ -183,7 +181,6 @@ public class QueryTest extends BaseCMISTest properties3.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties3.put(ContentModel.PROP_DESCRIPTION, desc3); properties3.put(ContentModel.PROP_TITLE, desc3); - properties3.put(ContentModel.PROP_NAME, "CC"); properties3.put(ContentModel.PROP_CREATED, new Date()); NodeRef c3 = nodeService.createNode(f3, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Three", namespaceService), ContentModel.TYPE_CONTENT, properties3) .getChildRef(); @@ -200,7 +197,6 @@ public class QueryTest extends BaseCMISTest properties4.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties4.put(ContentModel.PROP_DESCRIPTION, desc4); properties4.put(ContentModel.PROP_TITLE, desc4); - properties4.put(ContentModel.PROP_NAME, "DD"); properties4.put(ContentModel.PROP_CREATED, new Date()); NodeRef c4 = nodeService.createNode(f4, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Four", namespaceService), ContentModel.TYPE_CONTENT, properties4) .getChildRef(); @@ -217,7 +213,6 @@ public class QueryTest extends BaseCMISTest properties5.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties5.put(ContentModel.PROP_DESCRIPTION, desc5); properties5.put(ContentModel.PROP_TITLE, desc5); - properties5.put(ContentModel.PROP_NAME, "EE"); properties5.put(ContentModel.PROP_CREATED, new Date()); NodeRef c5 = nodeService.createNode(f5, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Five", namespaceService), ContentModel.TYPE_CONTENT, properties5) .getChildRef(); @@ -234,7 +229,6 @@ public class QueryTest extends BaseCMISTest properties6.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties6.put(ContentModel.PROP_DESCRIPTION, desc6); properties6.put(ContentModel.PROP_TITLE, desc6); - properties6.put(ContentModel.PROP_NAME, "FF"); properties6.put(ContentModel.PROP_CREATED, new Date()); NodeRef c6 = nodeService.createNode(f6, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Six", namespaceService), ContentModel.TYPE_CONTENT, properties6) .getChildRef(); @@ -251,7 +245,6 @@ public class QueryTest extends BaseCMISTest properties7.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties7.put(ContentModel.PROP_DESCRIPTION, desc7); properties7.put(ContentModel.PROP_TITLE, desc7); - properties7.put(ContentModel.PROP_NAME, "GG"); properties7.put(ContentModel.PROP_CREATED, new Date()); NodeRef c7 = nodeService.createNode(f7, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Seven", namespaceService), ContentModel.TYPE_CONTENT, properties7) .getChildRef(); @@ -268,7 +261,6 @@ public class QueryTest extends BaseCMISTest properties8.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties8.put(ContentModel.PROP_DESCRIPTION, desc8); properties8.put(ContentModel.PROP_TITLE, desc8); - properties8.put(ContentModel.PROP_NAME, "HH"); properties8.put(ContentModel.PROP_CREATED, new Date()); NodeRef c8 = nodeService.createNode(f8, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Eight", namespaceService), ContentModel.TYPE_CONTENT, properties8) .getChildRef(); @@ -285,7 +277,6 @@ public class QueryTest extends BaseCMISTest properties9.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK)); properties9.put(ContentModel.PROP_DESCRIPTION, desc9); properties9.put(ContentModel.PROP_TITLE, desc9); - properties9.put(ContentModel.PROP_NAME, "aa"); properties9.put(ContentModel.PROP_CREATED, new Date()); NodeRef c9 = nodeService.createNode(f9, ContentModel.ASSOC_CHILDREN, QName.createQName("cm", "Nine", namespaceService), ContentModel.TYPE_CONTENT, properties9) .getChildRef(); @@ -479,44 +470,31 @@ public class QueryTest extends BaseCMISTest public void test_CONTENT_STREAM_FILENAME() { - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'Alfresco Tutorial'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'AA'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'BB'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'CC'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'DD'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'EE'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'FF'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'GG'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'HH'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'aa'", 1, false, "ContentStreamFilename", new String(), false); - - - - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'Alfresco Tutorial'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename <> 'Alfresco Tutorial'", 9, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename < 'Alfresco Tutorial'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename <= 'Alfresco Tutorial'", 2, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename > 'Alfresco Tutorial'", 8, true, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename >= 'Alfresco Tutorial'", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename = 'tutorial'", 1, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename <> 'tutorial'", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename < 'tutorial'", 10, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename <= 'tutorial'", 10, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename > 'tutorial'", 0, true, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename >= 'tutorial'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename IN ('Alfresco Tutorial')", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename NOT IN ('Alfresco Tutorial')", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename IN ('tutorial')", 1, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename NOT IN ('tutorial')", 9, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename LIKE 'Alfresco Tutorial'", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename NOT LIKE 'Alfresco Tutorial'", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename LIKE 'tutorial'", 1, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename NOT LIKE 'tutorial'", 9, false, "ContentStreamFilename", new String(), false); testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename IS NOT NULL", 10, false, "ContentStreamFilename", new String(), false); testQuery("SELECT ContentStreamFilename FROM Document WHERE ContentStreamFilename IS NULL", 0, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE 'Alfresco Tutorial' = ANY ContentStreamFilename", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE 'Alfresco Tutorial' <> ANY ContentStreamFilename", 9, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE 'Alfresco Tutorial' < ANY ContentStreamFilename", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE 'Alfresco Tutorial' <= ANY ContentStreamFilename", 2, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE 'Alfresco Tutorial' > ANY ContentStreamFilename", 8, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE 'Alfresco Tutorial' >= ANY ContentStreamFilename", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE 'tutorial' = ANY ContentStreamFilename", 1, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE 'tutorial' <> ANY ContentStreamFilename", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE 'tutorial' < ANY ContentStreamFilename", 10, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE 'tutorial' <= ANY ContentStreamFilename", 10, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE 'tutorial' > ANY ContentStreamFilename", 0, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE 'tutorial' >= ANY ContentStreamFilename", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ANY ContentStreamFilename IN ('Alfresco Tutorial')", 1, false, "ContentStreamFilename", new String(), false); - testQuery("SELECT ContentStreamFilename FROM Document WHERE ANY ContentStreamFilename NOT IN ('Alfresco Tutorial')", 9, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ANY ContentStreamFilename IN ('tutorial')", 1, false, "ContentStreamFilename", new String(), false); + testQuery("SELECT ContentStreamFilename FROM Document WHERE ANY ContentStreamFilename NOT IN ('tutorial')", 9, false, "ContentStreamFilename", new String(), false); } public void test_CONTENT_STREAM_MIME_TYPE() @@ -900,10 +878,10 @@ public class QueryTest extends BaseCMISTest { testQuery("SELECT Name FROM Folder WHERE Name = 'Folder 1'", 1, false, "ObjectId", new String(), false); testQuery("SELECT Name FROM Folder WHERE Name <> 'Folder 1'", 9, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE Name < 'Folder 1'", 1, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE Name <= 'Folder 1'", 2, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE Name > 'Folder 1'", 8, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE Name >= 'Folder 1'", 9, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE Name < 'Folder 1'", 10, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE Name <= 'Folder 1'", 10, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE Name > 'Folder 1'", 0, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE Name >= 'Folder 1'", 0, false, "ObjectId", new String(), false); testQuery("SELECT Name FROM Folder WHERE Name IN ('Folder 1')", 1, false, "ObjectId", new String(), false); testQuery("SELECT Name FROM Folder WHERE Name NOT IN ('Folder 1')", 9, false, "ObjectId", new String(), false); @@ -916,10 +894,10 @@ public class QueryTest extends BaseCMISTest testQuery("SELECT Name FROM Folder WHERE 'Folder 1' = ANY Name", 1, false, "ObjectId", new String(), false); testQuery("SELECT Name FROM Folder WHERE 'Folder 1' <> ANY Name", 9, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE 'Folder 1' < ANY Name", 1, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE 'Folder 1' <= ANY Name", 2, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE 'Folder 1' > ANY Name", 8, false, "ObjectId", new String(), false); - testQuery("SELECT Name FROM Folder WHERE 'Folder 1' >= ANY Name", 9, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE 'Folder 1' < ANY Name", 10, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE 'Folder 1' <= ANY Name", 10, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE 'Folder 1' > ANY Name", 0, false, "ObjectId", new String(), false); + testQuery("SELECT Name FROM Folder WHERE 'Folder 1' >= ANY Name", 0, false, "ObjectId", new String(), false); testQuery("SELECT Name FROM Folder WHERE ANY Name IN ('Folder 1')", 1, false, "ObjectId", new String(), false); testQuery("SELECT Name FROM Folder WHERE ANY Name NOT IN ('Folder 1')", 9, false, "ObjectId", new String(), false); @@ -927,31 +905,31 @@ public class QueryTest extends BaseCMISTest public void test_document_Name() { - testQuery("SELECT Name FROM Document WHERE Name = 'Alfresco Tutorial'", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name <> 'Alfresco Tutorial'", 9, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name < 'Alfresco Tutorial'", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name <= 'Alfresco Tutorial'", 2, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name > 'Alfresco Tutorial'", 8, true, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name >= 'Alfresco Tutorial'", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name = 'tutorial'", 1, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name <> 'tutorial'", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name < 'tutorial'", 10, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name <= 'tutorial'", 10, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name > 'tutorial'", 0, true, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name >= 'tutorial'", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name IN ('Alfresco Tutorial')", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name NOT IN ('Alfresco Tutorial')", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name IN ('tutorial')", 1, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name NOT IN ('tutorial')", 9, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name LIKE 'Alfresco Tutorial'", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE Name NOT LIKE 'Alfresco Tutorial'", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name LIKE 'tutorial'", 1, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE Name NOT LIKE 'tutorial'", 9, false, "Name", new String(), false); testQuery("SELECT Name FROM Document WHERE Name IS NOT NULL", 10, false, "Name", new String(), false); testQuery("SELECT Name FROM Document WHERE Name IS NULL", 0, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE 'Alfresco Tutorial' = ANY Name", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE 'Alfresco Tutorial' <> ANY Name", 9, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE 'Alfresco Tutorial' < ANY Name", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE 'Alfresco Tutorial' <= ANY Name", 2, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE 'Alfresco Tutorial' > ANY Name", 8, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE 'Alfresco Tutorial' >= ANY Name", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE 'tutorial' = ANY Name", 1, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE 'tutorial' <> ANY Name", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE 'tutorial' < ANY Name", 10, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE 'tutorial' <= ANY Name", 10, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE 'tutorial' > ANY Name", 0, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE 'tutorial' >= ANY Name", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE ANY Name IN ('Alfresco Tutorial')", 1, false, "Name", new String(), false); - testQuery("SELECT Name FROM Document WHERE ANY Name NOT IN ('Alfresco Tutorial')", 9, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE ANY Name IN ('tutorial')", 1, false, "Name", new String(), false); + testQuery("SELECT Name FROM Document WHERE ANY Name NOT IN ('tutorial')", 9, false, "Name", new String(), false); } public void test_CHANGE_TOKEN() @@ -1383,7 +1361,7 @@ public class QueryTest extends BaseCMISTest public void test_ObjectId() { - String companyHomeId = testQuery("SELECT ObjectId FROM Folder WHERE Name = 'Folder 0'", 1, false, "ObjectId", new String(), false); + String companyHomeId = testQuery("SELECT ObjectId FROM Folder WHERE Name = '\"Folder 0\"'", 1, false, "ObjectId", new String(), false); Serializable ser = cmisService.getProperty(f0, CMISDictionaryModel.PROP_OBJECT_ID); String id = DefaultTypeConverter.INSTANCE.convert(String.class, ser); @@ -1481,29 +1459,25 @@ public class QueryTest extends BaseCMISTest testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND 'Folder 1' = ANY Name", 1, false, "ObjectId", new String(), false); testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND NOT Name <> 'Folder 1'", 1, false, "ObjectId", new String(), false); testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name <> 'Folder 1'", 9, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name < 'Folder 1'", 1, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name <= 'Folder 1'", 2, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name > 'Folder 1'", 8, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name >= 'Folder 1'", 9, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name IN ('Folder 1', '1')", 1, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name NOT IN ('Folder 1', 'Folder 9')", 8, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND ANY Name IN ('Folder 1', 'Folder 9')", 2, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND ANY Name NOT IN ('2', '3')", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name < 'Folder 1'", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name <= 'Folder 1'", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name > 'Folder 1'", 0, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name >= 'Folder 1'", 0, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name IN ('Folder', '1')", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name NOT IN ('Folder', '1')", 0, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND ANY Name IN ('Folder', '1')", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND ANY Name NOT IN ('2', '3')", 8, false, "ObjectId", new String(), false); testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name LIKE 'Folder 1'", 1, false, "ObjectId", new String(), false); testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name LIKE 'Fol%'", 10, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name LIKE 'F_l_e_ 1'", 1, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name NOT LIKE 'F_l_e_ 1'", 9, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name LIKE 'F_l_e_ %'", 10, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name NOT LIKE 'F_l_e_ %'", 0, false, "ObjectId", new String(), false); - // TODO: Fix below which fail?? - //testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name LIKE 'F_l_e_ _'", 10, false, "ObjectId", new String(), false); - //testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name NOT LIKE 'F_l_e_ _'", 0, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name LIKE 'F_l_e_'", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name NOT LIKE 'F_l_e_'", 0, false, "ObjectId", new String(), false); } public void testSimpleConjunction() { testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name = 'Folder 1'", 1, false, "ObjectId", new String(), false); - testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name = 'Folder'", 0, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name = 'Folder'", 10, false, "ObjectId", new String(), false); + testQuery("SELECT * FROM Folder WHERE Name IS NOT NULL AND Name = 'Folder' AND Name = '1'", 1, false, "ObjectId", new String(), false); } public void testSimpleDisjunction() diff --git a/source/java/org/alfresco/repo/search/AbstractResultSet.java b/source/java/org/alfresco/repo/search/AbstractResultSet.java index 0d028914b8..6d8009823e 100644 --- a/source/java/org/alfresco/repo/search/AbstractResultSet.java +++ b/source/java/org/alfresco/repo/search/AbstractResultSet.java @@ -29,27 +29,27 @@ import java.util.List; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetRow; -import org.apache.lucene.search.HitCollector; -/** - * Common result set implementation. - * - * @author andyh - */ public abstract class AbstractResultSet implements ResultSet { - /** - * Default constructor - */ - public AbstractResultSet() + private Path[] propertyPaths; + + public AbstractResultSet(Path[] propertyPaths) { super(); - + this.propertyPaths = propertyPaths; } + public Path[] getPropertyPaths() + { + return propertyPaths; + } + + public float getScore(int n) { // All have equal weight by default @@ -64,7 +64,7 @@ public abstract class AbstractResultSet implements ResultSet public List getNodeRefs() { ArrayList nodeRefs = new ArrayList(length()); - for (ResultSetRow row : this) + for(ResultSetRow row: this) { nodeRefs.add(row.getNodeRef()); } @@ -74,11 +74,13 @@ public abstract class AbstractResultSet implements ResultSet public List getChildAssocRefs() { ArrayList cars = new ArrayList(length()); - for (ResultSetRow row : this) + for(ResultSetRow row: this) { cars.add(row.getChildAssocRef()); } return cars; } + + } diff --git a/source/java/org/alfresco/repo/search/AbstractResultSetRow.java b/source/java/org/alfresco/repo/search/AbstractResultSetRow.java index 1a1489b1a3..9775f248cc 100644 --- a/source/java/org/alfresco/repo/search/AbstractResultSetRow.java +++ b/source/java/org/alfresco/repo/search/AbstractResultSetRow.java @@ -31,15 +31,11 @@ import java.util.Map; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetRow; import org.alfresco.service.namespace.QName; -/** - * Common support for a row in a result set - * - * @author andyh - */ public abstract class AbstractResultSetRow implements ResultSetRow { @@ -54,17 +50,12 @@ public abstract class AbstractResultSetRow implements ResultSetRow private int index; /** - * The direct properties of the current node Used by those implementations that can cache the whole set. + * The direct properties of the current node + * Used by those implementations that can cache the whole set. */ - protected Map properties; + private Map properties; - /** - * The row needs the result set and the index for lookup. - * - * @param resultSet - * @param index - */ public AbstractResultSetRow(ResultSet resultSet, int index) { super(); @@ -91,49 +82,55 @@ public abstract class AbstractResultSetRow implements ResultSetRow { return getResultSet().getChildAssocRef(getIndex()).getQName(); } - + public ChildAssociationRef getChildAssocRef() { return getResultSet().getChildAssocRef(getIndex()); } - + public float getScore() { return getResultSet().getScore(getIndex()); } - public Map getValues() + public Map getValues() { if (properties == null) { - properties = new HashMap(); + properties = new HashMap(); setProperties(getDirectProperties()); } return Collections.unmodifiableMap(properties); } - public Serializable getValue(String columnName) + public Serializable getValue(Path path) { - return properties.get(columnName); + return properties.get(path); } - + protected Map getDirectProperties() { - return Collections. emptyMap(); + return Collections.emptyMap(); } - + protected void setProperties(Map byQname) { for (QName qname : byQname.keySet()) { Serializable value = byQname.get(qname); - properties.put(qname.toString(), value); + Path path = new Path(); + path.append(new Path.SelfElement()); + path.append(new Path.AttributeElement(qname)); + properties.put(path, value); } } - + public Serializable getValue(QName qname) { - return getValues().get(qname.toString()); + Path path = new Path(); + path.append(new Path.SelfElement()); + path.append(new Path.AttributeElement(qname)); + return getValues().get(path); } - + } diff --git a/source/java/org/alfresco/repo/search/AbstractSearcherComponent.java b/source/java/org/alfresco/repo/search/AbstractSearcherComponent.java index e3d1d938fa..bdb05bc0a3 100644 --- a/source/java/org/alfresco/repo/search/AbstractSearcherComponent.java +++ b/source/java/org/alfresco/repo/search/AbstractSearcherComponent.java @@ -56,7 +56,18 @@ public abstract class AbstractSearcherComponent implements SearchService public ResultSet query(StoreRef store, String language, String query) { - return query(store, language, query, null); + return query(store, language, query, null, null); + } + + public ResultSet query(StoreRef store, String language, String query, + QueryParameterDefinition[] queryParameterDefintions) + { + return query(store, language, query, null, queryParameterDefintions); + } + + public ResultSet query(StoreRef store, String language, String query, Path[] attributePaths) + { + return query(store, language, query, attributePaths, null); } public List selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, diff --git a/source/java/org/alfresco/repo/search/EmptyResultSet.java b/source/java/org/alfresco/repo/search/EmptyResultSet.java index 9129279455..8581fc1b68 100644 --- a/source/java/org/alfresco/repo/search/EmptyResultSet.java +++ b/source/java/org/alfresco/repo/search/EmptyResultSet.java @@ -31,6 +31,7 @@ import java.util.List; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.PermissionEvaluationMode; import org.alfresco.service.cmr.search.ResultSet; @@ -38,22 +39,19 @@ import org.alfresco.service.cmr.search.ResultSetMetaData; import org.alfresco.service.cmr.search.ResultSetRow; import org.alfresco.service.cmr.search.SearchParameters; -/** - * An empty result set - * @author andyh - * - */ public class EmptyResultSet implements ResultSet { - /** - * Default constructor - */ public EmptyResultSet() { super(); } + public Path[] getPropertyPaths() + { + return new Path[]{}; + } + public int length() { return 0; @@ -82,6 +80,7 @@ public class EmptyResultSet implements ResultSet public ResultSetRow getRow(int i) { + // TODO Auto-generated method stub throw new UnsupportedOperationException(); } @@ -97,6 +96,7 @@ public class EmptyResultSet implements ResultSet public ChildAssociationRef getChildAssocRef(int n) { + // TODO Auto-generated method stub throw new UnsupportedOperationException(); } @@ -104,14 +104,4 @@ public class EmptyResultSet implements ResultSet { return new SimpleResultSetMetaData(LimitBy.UNLIMITED, PermissionEvaluationMode.EAGER, new SearchParameters()); } - - public int getStart() - { - return 0; - } - - public boolean hasMore() - { - return false; - } } diff --git a/source/java/org/alfresco/repo/search/ResultSetRowIterator.java b/source/java/org/alfresco/repo/search/ResultSetRowIterator.java index a773f1fb33..cdf3ded6e4 100644 --- a/source/java/org/alfresco/repo/search/ResultSetRowIterator.java +++ b/source/java/org/alfresco/repo/search/ResultSetRowIterator.java @@ -26,27 +26,15 @@ package org.alfresco.repo.search; import java.util.ListIterator; -import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetRow; /** * A typed ListIterator over Collections containing ResultSetRow elements * * @author andyh + * */ public interface ResultSetRowIterator extends ListIterator { - /** - * Get the underlying result set - * - * @return - the result set - */ - public ResultSet getResultSet(); - /** - * Does the result set allow reversal? - * - * @return - true if the result set can be navigated in reverse. - */ - public boolean allowsReverse(); } diff --git a/source/java/org/alfresco/repo/search/SearcherComponent.java b/source/java/org/alfresco/repo/search/SearcherComponent.java index d2cacade8f..2db3490f6d 100644 --- a/source/java/org/alfresco/repo/search/SearcherComponent.java +++ b/source/java/org/alfresco/repo/search/SearcherComponent.java @@ -58,21 +58,22 @@ public class SearcherComponent extends AbstractSearcherComponent this.indexerAndSearcherFactory = indexerAndSearcherFactory; } + public ResultSet query(StoreRef store, + String language, + String query, + Path[] queryOptions, + QueryParameterDefinition[] queryParameterDefinitions) + { + SearchService searcher = indexerAndSearcherFactory.getSearcher(store, true); + return searcher.query(store, language, query, queryOptions, queryParameterDefinitions); + } + public ResultSet query(StoreRef store, QName queryId, QueryParameter[] queryParameters) { // TODO Auto-generated method stub throw new UnsupportedOperationException(); } - public ResultSet query(StoreRef store, - String language, - String query, - QueryParameterDefinition[] queryParameterDefinitions) - { - SearchService searcher = indexerAndSearcherFactory.getSearcher(store, true); - return searcher.query(store, language, query, queryParameterDefinitions); - } - public ResultSet query(SearchParameters searchParameters) { if(searchParameters.getStores().size() != 1) diff --git a/source/java/org/alfresco/repo/search/SimpleResultSetMetaData.java b/source/java/org/alfresco/repo/search/SimpleResultSetMetaData.java index d9897903e8..f8019985a3 100644 --- a/source/java/org/alfresco/repo/search/SimpleResultSetMetaData.java +++ b/source/java/org/alfresco/repo/search/SimpleResultSetMetaData.java @@ -26,14 +26,11 @@ package org.alfresco.repo.search; import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.PermissionEvaluationMode; -import org.alfresco.service.cmr.search.ResultSetColumn; import org.alfresco.service.cmr.search.ResultSetMetaData; -import org.alfresco.service.cmr.search.ResultSetSelector; -import org.alfresco.service.cmr.search.ResultSetType; import org.alfresco.service.cmr.search.SearchParameters; /** - * Simple implementation of result set meta data. + * Simple implementatio of result set meta data. * * @author Andy Hind */ @@ -46,13 +43,6 @@ public class SimpleResultSetMetaData implements ResultSetMetaData private SearchParameters searchParameters; - /** - * Default properties. - * - * @param limitedBy - * @param permissoinEvaluationMode - * @param searchParameters - */ public SimpleResultSetMetaData(LimitBy limitedBy, PermissionEvaluationMode permissoinEvaluationMode, SearchParameters searchParameters) { super(); @@ -76,39 +66,4 @@ public class SimpleResultSetMetaData implements ResultSetMetaData return searchParameters; } - public ResultSetColumn getColumn(String name) - { - throw new UnsupportedOperationException(); - } - - public String[] getColumnNames() - { - throw new UnsupportedOperationException(); - } - - public ResultSetColumn getColumns() - { - throw new UnsupportedOperationException(); - } - - public ResultSetType getResultSetType() - { - throw new UnsupportedOperationException(); - } - - public ResultSetSelector getSelector(String name) - { - throw new UnsupportedOperationException(); - } - - public String[] getSelectorNames() - { - throw new UnsupportedOperationException(); - } - - public ResultSetSelector getSelectors() - { - throw new UnsupportedOperationException(); - } - } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneCategoryTest.java b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneCategoryTest.java index dfe5e4b9af..cc57123df2 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneCategoryTest.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneCategoryTest.java @@ -398,7 +398,7 @@ public class ADMLuceneCategoryTest extends TestCase searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("")); ResultSet results; - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\" AND (PATH:\"/test:assetClass/test:Equity/member\" PATH:\"/test:marketingRegion/member\")", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\" AND (PATH:\"/test:assetClass/test:Equity/member\" PATH:\"/test:marketingRegion/member\")", null, null); //printPaths(results); assertEquals(9, results.length()); results.close(); @@ -425,95 +425,95 @@ public class ADMLuceneCategoryTest extends TestCase searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("")); ResultSet results; - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:marketingRegion\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:marketingRegion\"", null, null); //printPaths(results); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:marketingRegion//member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:marketingRegion//member\"", null, null); //printPaths(results); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/member\" ", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/member\" ", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/test:Fixed\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/test:Fixed\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/test:Equity\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/test:Equity\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Fixed\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Fixed\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:*\"", null, null); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass//test:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass//test:*\"", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Fixed/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Fixed/member\"", null, null); //printPaths(results); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/member\"", null, null); //printPaths(results); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/test:SpecialEquity/member//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/test:SpecialEquity/member//.\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/test:SpecialEquity/member//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/test:SpecialEquity/member//*\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/test:SpecialEquity/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/test:SpecialEquity/member\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PATH:\"/test:assetClass/test:Equity/member\" AND +PATH:\"/test:assetClass/test:Fixed/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PATH:\"/test:assetClass/test:Equity/member\" AND +PATH:\"/test:assetClass/test:Fixed/member\"", null, null); //printPaths(results); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/member\" PATH:\"/test:assetClass/test:Fixed/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/member\" PATH:\"/test:assetClass/test:Fixed/member\"", null, null); //printPaths(results); assertEquals(13, results.length()); results.close(); @@ -522,52 +522,52 @@ public class ADMLuceneCategoryTest extends TestCase assertEquals(4, nodeService.getChildAssocs(catRoot).size()); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region\"", null, null); //printPaths(results); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region/member\"", null, null); //printPaths(results); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region/test:Europe/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region/test:Europe/member\"", null, null); //printPaths(results); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region/test:RestOfWorld/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region/test:RestOfWorld/member\"", null, null); //printPaths(results); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region//member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:region//member\"", null, null); //printPaths(results); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:investmentRegion//member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:investmentRegion//member\"", null, null); //printPaths(results); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:marketingRegion//member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:marketingRegion//member\"", null, null); //printPaths(results); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PATH:\"/test:assetClass/test:Fixed/member\" AND +PATH:\"/test:region/test:Europe/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PATH:\"/test:assetClass/test:Fixed/member\" AND +PATH:\"/test:region/test:Europe/member\"", null, null); //printPaths(results); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/test:Fixed/member\" AND +PATH:\"/cm:categoryContainer/cm:categoryRoot/test:region/test:Europe/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/test:Fixed/member\" AND +PATH:\"/cm:categoryContainer/cm:categoryRoot/test:region/test:Europe/member\"", null, null); //printPaths(results); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/member\" PATH:\"/test:marketingRegion/member\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/test:assetClass/test:Equity/member\" PATH:\"/test:marketingRegion/member\"", null, null); //printPaths(results); assertEquals(9, results.length()); results.close(); @@ -595,11 +595,11 @@ public class ADMLuceneCategoryTest extends TestCase ResultSet - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/*\" ", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/*\" ", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/member\" ", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/cm:categoryContainer/cm:categoryRoot/test:assetClass/member\" ", null, null); assertEquals(1, results.length()); results.close(); diff --git a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneIndexerImpl.java b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneIndexerImpl.java index 08f2a6f483..96bd58a8d4 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneIndexerImpl.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneIndexerImpl.java @@ -1184,27 +1184,17 @@ public class ADMLuceneIndexerImpl extends AbstractLuceneIndexerImpl imp while ((t = duplicator.next()) != null) { String localeText = ""; - String withoutLocale = ""; if (t.termText().indexOf('{') == 0) { int end = t.termText().indexOf('}', 1); if (end != -1) { localeText = t.termText().substring(1, end); - withoutLocale = t.termText().substring(end+1); } - else - { - - } - } - else - { - withoutLocale = t.termText(); } if (localeText.length() > 0) { - doc.add(new Field(attributeName + "." + localeText + ".sort", withoutLocale, Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO)); + doc.add(new Field(attributeName + "." + localeText + ".sort", t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO)); } } } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java index 66043e08d9..b915569642 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java @@ -38,7 +38,6 @@ import java.util.Map; import java.util.Set; import org.alfresco.i18n.I18NUtil; -import org.alfresco.model.ContentModel; import org.alfresco.repo.search.CannedQueryDef; import org.alfresco.repo.search.EmptyResultSet; import org.alfresco.repo.search.MLAnalysisMode; @@ -160,17 +159,16 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS { return getSearcher(storeRef, null, config); } - + /** * Get a select-node-based searcher - * * @return */ public static ADMLuceneSearcherImpl getNodeSearcher() { return new ADMLuceneSearcherImpl(); } - + public void setNamespacePrefixResolver(NamespacePrefixResolver namespacePrefixResolver) { this.namespacePrefixResolver = namespacePrefixResolver; @@ -196,7 +194,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS { this.queryEngine = queryEngine; } - + /** * Set the query register * @@ -207,7 +205,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS this.queryRegister = queryRegister; } - public ResultSet query(StoreRef store, String language, String queryString, QueryParameterDefinition[] queryParameterDefinitions) throws SearcherException + public ResultSet query(StoreRef store, String language, String queryString, Path[] queryOptions, QueryParameterDefinition[] queryParameterDefinitions) throws SearcherException { store = tenantService.getName(store); @@ -215,6 +213,13 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS sp.addStore(store); sp.setLanguage(language); sp.setQuery(queryString); + if (queryOptions != null) + { + for (Path path : queryOptions) + { + sp.addAttrbutePath(path); + } + } if (queryParameterDefinitions != null) { for (QueryParameterDefinition qpd : queryParameterDefinitions) @@ -407,8 +412,8 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS hits = searcher.search(query); } - - ResultSet rs = new LuceneResultSet(hits, searcher, nodeService, tenantService, searchParameters, getLuceneConfig()); + Path[] paths = searchParameters.getAttributePaths().toArray(new Path[0]); + ResultSet rs = new LuceneResultSet(hits, searcher, nodeService, tenantService, paths, searchParameters, getLuceneConfig()); if (getLuceneConfig().getPostSortDateTime() && requiresPostSort) { ResultSet sorted = new SortedResultSet(rs, nodeService, searchParameters, namespacePrefixResolver); @@ -450,7 +455,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS return new EmptyResultSet(); } Hits hits = searcher.search(query); - return new LuceneResultSet(hits, searcher, nodeService, tenantService, searchParameters, + return new LuceneResultSet(hits, searcher, nodeService, tenantService, searchParameters.getAttributePaths().toArray(new Path[0]), searchParameters, getLuceneConfig()); } catch (SAXPathException e) @@ -468,13 +473,13 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS FTSQueryParser ftsQueryParser = new FTSQueryParser(); QueryModelFactory factory = queryEngine.getQueryModelFactory(); AlfrescoFunctionEvaluationContext context = new AlfrescoFunctionEvaluationContext(namespacePrefixResolver, getDictionaryService()); - + QueryOptions options = new QueryOptions(searchParameters.getQuery(), null); options.setFetchSize(searchParameters.getBulkFecthSize()); options.setIncludeInTransactionData(!searchParameters.excludeDataInTheCurrentTransaction()); options.setDefaultFTSConnective(searchParameters.getDefaultOperator() == SearchParameters.Operator.OR ? Connective.OR : Connective.AND); options.setDefaultFTSFieldConnective(searchParameters.getDefaultOperator() == SearchParameters.Operator.OR ? Connective.OR : Connective.AND); - if (searchParameters.getLimitBy() == LimitBy.FINAL_SIZE) + if(searchParameters.getLimitBy() == LimitBy.FINAL_SIZE) { options.setMaxItems(searchParameters.getLimit()); } @@ -485,12 +490,10 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS options.setMlAnalaysisMode(searchParameters.getMlAnalaysisMode()); options.setLocales(searchParameters.getLocales()); options.setStores(searchParameters.getStores()); - - HashMap templates = new HashMap(); - templates.put("ANDY", "%(cm:content, cm:title)"); - Constraint constraint = ftsQueryParser.buildFTS(ftsExpression, factory, context, null, null, options.getDefaultFTSConnective(), options.getDefaultFTSFieldConnective(), templates); + + Constraint constraint = ftsQueryParser.buildFTS(ftsExpression, factory, context, null, null, options.getDefaultFTSConnective(), options.getDefaultFTSFieldConnective()); org.alfresco.repo.search.impl.querymodel.Query query = factory.createQuery(null, null, constraint, null); - + QueryEngineResults results = queryEngine.executeQuery(query, options, context); return results.getResults().values().iterator().next(); } @@ -531,7 +534,17 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS public ResultSet query(StoreRef store, String language, String query) { - return query(store, language, query, null); + return query(store, language, query, null, null); + } + + public ResultSet query(StoreRef store, String language, String query, QueryParameterDefinition[] queryParameterDefintions) + { + return query(store, language, query, null, queryParameterDefintions); + } + + public ResultSet query(StoreRef store, String language, String query, Path[] attributePaths) + { + return query(store, language, query, attributePaths, null); } public ResultSet query(StoreRef store, QName queryId, QueryParameter[] queryParameters) @@ -552,7 +565,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS String queryString = parameterise(definition.getQuery(), definition.getQueryParameterMap(), queryParameters, definition.getNamespacePrefixResolver()); - return query(store, definition.getLanguage(), queryString, null); + return query(store, definition.getLanguage(), queryString, null, null); } /** diff --git a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java index cd0e12d601..139560afa6 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java @@ -364,7 +364,7 @@ public class ADMLuceneTest extends TestCase ArrayList testList = new ArrayList(); testList.add(null); - testProperties.put(QName.createQName(TEST_NAMESPACE, "nullist"), testList); + testProperties.put(QName.createQName(TEST_NAMESPACE, "nullList"), testList); ArrayList testList2 = new ArrayList(); testList2.add("woof"); testList2.add(null); @@ -733,7 +733,7 @@ public class ADMLuceneTest extends TestCase ftsQueryWithCount(searcher, "TEXT:(brown *(6) dog)", 1); // ftsQueryWithCount(searcher, "brown..dog", 1); // is this allowed?? - //ftsQueryWithCount(searcher, "cm:content:brown..dog", 1); + ftsQueryWithCount(searcher, "cm:content:brown..dog", 1); QName qname = QName.createQName(TEST_NAMESPACE, "float\\-ista"); ftsQueryWithCount(searcher, qname + ":3.40", 1); @@ -835,21 +835,18 @@ public class ADMLuceneTest extends TestCase ftsQueryWithCount(searcher, "lazy -lazy", 15, null, n14); ftsQueryWithCount(searcher, "lazy^20 -lazy", 15, n14, null); ftsQueryWithCount(searcher, "lazy^20 -lazy^20", 15, null, n14); - - ftsQueryWithCount(searcher, "cm:content:lazy", 1); - ftsQueryWithCount(searcher, "ANDY:lazy", 1); } public void ftsQueryWithCount(ADMLuceneSearcherImpl searcher, String query, int count) { - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), SearchService.LANGUAGE_FTS_ALFRESCO, query, null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), SearchService.LANGUAGE_FTS_ALFRESCO, query, null, null); assertEquals(count, results.length()); results.close(); } public void ftsQueryWithCount(ADMLuceneSearcherImpl searcher, String query, int count, NodeRef first, NodeRef last) { - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), SearchService.LANGUAGE_FTS_ALFRESCO, query, null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), SearchService.LANGUAGE_FTS_ALFRESCO, query, null, null); for(ResultSetRow row : results) { System.out.println(""+ row.getScore() + nodeService.getProperty(row.getNodeRef(), ContentModel.PROP_NAME)); @@ -1273,7 +1270,7 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n14 + "\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n14 + "\"", null, null); assertEquals(1, results.length()); // one node results.close(); @@ -1288,7 +1285,7 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n14 + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n14 + "\"", null, null); assertEquals(10, results.length()); // one node + 9 aux paths to n14 results.close(); } @@ -1335,196 +1332,196 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:link\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:link\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null); assertEquals(15, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null); assertEquals(23, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null); assertEquals(9, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(1, results.length()); results.close(); luceneFTS.resume(); @@ -1553,190 +1550,190 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null); assertEquals(15, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null); assertEquals(25, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null); assertEquals(24, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null); assertEquals(24, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null); assertEquals(24, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null); assertEquals(24, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null); assertEquals(24, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(1, results.length()); results.close(); luceneFTS.resume(); @@ -2650,7 +2647,7 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null, null); results.close(); luceneFTS.resume(); } @@ -2735,36 +2732,36 @@ public class ADMLuceneTest extends TestCase searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null, null); simpleResultSetTest(results); - ChildAssocRefResultSet r2 = new ChildAssocRefResultSet(nodeService, results.getNodeRefs(), false); + ChildAssocRefResultSet r2 = new ChildAssocRefResultSet(nodeService, results.getNodeRefs(), null, false); simpleResultSetTest(r2); - ChildAssocRefResultSet r3 = new ChildAssocRefResultSet(nodeService, results.getNodeRefs(), true); + ChildAssocRefResultSet r3 = new ChildAssocRefResultSet(nodeService, results.getNodeRefs(), null, true); simpleResultSetTest(r3); - ChildAssocRefResultSet r4 = new ChildAssocRefResultSet(nodeService, results.getChildAssocRefs()); + ChildAssocRefResultSet r4 = new ChildAssocRefResultSet(nodeService, results.getChildAssocRefs(), null); simpleResultSetTest(r4); - DetachedResultSet r5 = new DetachedResultSet(results); + DetachedResultSet r5 = new DetachedResultSet(results, null); simpleResultSetTest(r5); - DetachedResultSet r6 = new DetachedResultSet(r2); + DetachedResultSet r6 = new DetachedResultSet(r2, null); simpleResultSetTest(r6); - DetachedResultSet r7 = new DetachedResultSet(r3); + DetachedResultSet r7 = new DetachedResultSet(r3, null); simpleResultSetTest(r7); - DetachedResultSet r8 = new DetachedResultSet(r4); + DetachedResultSet r8 = new DetachedResultSet(r4, null); simpleResultSetTest(r8); - DetachedResultSet r9 = new DetachedResultSet(r5); + DetachedResultSet r9 = new DetachedResultSet(r5, null); simpleResultSetTest(r9); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-1:\"valueone\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-1:\"valueone\"", null, null); assertEquals(2, results.length()); assertEquals(n2.getId(), results.getNodeRef(0).getId()); assertEquals(n1.getId(), results.getNodeRef(1).getId()); @@ -2772,7 +2769,7 @@ public class ADMLuceneTest extends TestCase assertEquals(1.0f, results.getScore(1)); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@namespace\\:property\\-1:\"valueone\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@namespace\\:property\\-1:\"valueone\"", null, null); assertEquals(2, results.length()); assertEquals(n2.getId(), results.getNodeRef(0).getId()); assertEquals(n1.getId(), results.getNodeRef(1).getId()); @@ -2780,7 +2777,7 @@ public class ADMLuceneTest extends TestCase assertEquals(1.0f, results.getScore(1)); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:\"valueone\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:\"valueone\"", null, null); assertEquals(2, results.length()); assertEquals(n2.getId(), results.getNodeRef(0).getId()); assertEquals(n1.getId(), results.getNodeRef(1).getId()); @@ -2788,7 +2785,7 @@ public class ADMLuceneTest extends TestCase assertEquals(1.0f, results.getScore(1)); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:\"Valueone\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:\"Valueone\"", null, null); assertEquals(2, results.length()); assertEquals(n2.getId(), results.getNodeRef(0).getId()); assertEquals(n1.getId(), results.getNodeRef(1).getId()); @@ -2796,7 +2793,7 @@ public class ADMLuceneTest extends TestCase assertEquals(1.0f, results.getScore(1)); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:ValueOne", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:ValueOne", null, null); assertEquals(2, results.length()); assertEquals(n2.getId(), results.getNodeRef(0).getId()); assertEquals(n1.getId(), results.getNodeRef(1).getId()); @@ -2804,7 +2801,7 @@ public class ADMLuceneTest extends TestCase assertEquals(1.0f, results.getScore(1)); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:valueone", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@property\\-1:valueone", null, null); assertEquals(2, results.length()); assertEquals(n2.getId(), results.getNodeRef(0).getId()); assertEquals(n1.getId(), results.getNodeRef(1).getId()); @@ -2814,7 +2811,7 @@ public class ADMLuceneTest extends TestCase QName qname = QName.createQName("", "property-1"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n1.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n1.toString() + "\"", null, null); assertEquals(2, results.length()); @@ -2855,7 +2852,7 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@\\{namespace\\}property-1:valueone", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@\\{namespace\\}property-1:valueone", null, null); try { assertEquals(2, results.length()); @@ -2872,7 +2869,7 @@ public class ADMLuceneTest extends TestCase results.close(); } - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+ID:\"" + n1.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+ID:\"" + n1.toString() + "\"", null, null); try { assertEquals(2, results.length()); @@ -2882,7 +2879,7 @@ public class ADMLuceneTest extends TestCase results.close(); } - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + rootNodeRef.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + rootNodeRef.toString() + "\"", null, null); try { assertEquals(1, results.length()); @@ -2949,517 +2946,517 @@ public class ADMLuceneTest extends TestCase searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); searcher.setQueryRegister(queryRegisterComponent); ResultSet results; - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/.\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*/*\"", null, null); assertEquals(8, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null); assertEquals(26, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null); assertEquals(15, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null); assertEquals(25, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null); assertEquals(25, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null); assertEquals(25, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null); assertEquals(25, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null); assertEquals(25, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//common\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one//common\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null); assertEquals(9, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//.\"", null, null); assertEquals(10, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.//.\"", null, null); assertEquals(1, results.length()); results.close(); // Type search tests QName qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"1\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":1", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":1", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"01\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"01\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":01", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":01", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + escapeQName(qname) + ":\"001\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + escapeQName(qname) + ":\"001\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@test\\:int\\-ista:\"0001\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@test\\:int\\-ista:\"0001\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 2]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 2]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO A]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO A]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 1}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 1}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 1}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 1}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO A}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO A}", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 2}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 2}", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{1 TO 2}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{1 TO 2}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{1 TO A}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{1 TO A}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"2\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"02\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"02\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"002\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"002\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"0002\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"0002\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 2]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 2]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO A]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO A]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 2}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 2}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 2}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 2}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO A}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO A}", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 3}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 3}", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{2 TO 3}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{2 TO 3}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "long-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{2 TO A}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{2 TO A}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.4\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.4\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 4]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 4]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3 TO 4]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3 TO 4]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3 TO A]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3 TO A]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 3.4]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 3.4]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO 3.4]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO 3.4]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO A]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO A]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 3.4}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 3.4}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO 3.4]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO 3.4]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO A]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO A]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.40\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.40\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.4\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.4\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "float-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.40\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.40\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.6\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.6\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.6\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.6\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.60\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.60\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.60\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.60\"", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 5.7]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[A TO 5.7]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[5.5 TO 5.7]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[5.5 TO 5.7]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[5.5 TO A]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[5.5 TO A]", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 5.6}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 5.6}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.5 TO 5.6}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.5 TO 5.6}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.5 TO A}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.5 TO A}", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 5.7}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{A TO 5.7}", null, null); assertEquals(1, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.6 TO 5.7}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.6 TO 5.7}", null, null); assertEquals(0, results.length()); results.close(); qname = QName.createQName(TEST_NAMESPACE, "double-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.6 TO A}", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.6 TO A}", null, null); assertEquals(0, results.length()); results.close(); @@ -3473,33 +3470,33 @@ public class ADMLuceneTest extends TestCase Date date = new Date(); SimpleDateFormat df = CachingDateFormat.getDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", true); String sDate = df.format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":\"" + sDate + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":\"" + sDate + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":\"" + sDate + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":\"" + sDate + "\"", null, null); assertEquals(usesDateTimeAnalyser ? 0 : 1, results.length()); results.close(); sDate = df.format(testDate); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":\"" + sDate + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":\"" + sDate + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":\"" + sDate + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":\"" + sDate + "\"", null, null); assertEquals(1, results.length()); results.close(); // short and long field ranges sDate = df.format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@cm\\:created:[MIN TO " + sDate + "]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@cm\\:created:[MIN TO " + sDate + "]", null, null); assertEquals(1, results.length()); results.close(); sDate = df.format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(ContentModel.PROP_CREATED) + ":[MIN TO " + sDate + "]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(ContentModel.PROP_CREATED) + ":[MIN TO " + sDate + "]", null, null); assertEquals(1, results.length()); results.close(); @@ -3508,34 +3505,34 @@ public class ADMLuceneTest extends TestCase sDate = df.format(date); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":[" + sDate + " TO " + sDate + "]", - null); + null, null); assertEquals(1, results.length()); results.close(); sDate = df.format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":[MIN TO " + sDate + "]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":[MIN TO " + sDate + "]", null, null); assertEquals(1, results.length()); results.close(); sDate = df.format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":[" + sDate + " TO MAX]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":[" + sDate + " TO MAX]", null, null); assertEquals(1, results.length()); results.close(); sDate = CachingDateFormat.getDateFormat().format(date); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", - "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + sDate + " TO " + sDate + "]", null); + "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + sDate + " TO " + sDate + "]", null, null); assertEquals(usesDateTimeAnalyser ? 0 : 1, results.length()); results.close(); sDate = CachingDateFormat.getDateFormat().format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[MIN TO " + sDate + "]", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[MIN TO " + sDate + "]", null, null); assertEquals(1, results.length()); results.close(); sDate = CachingDateFormat.getDateFormat().format(date); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + sDate + " TO MAX]", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + sDate + " TO MAX]", null, null); assertEquals(usesDateTimeAnalyser ? 0 : 1, results.length()); results.close(); @@ -3554,123 +3551,123 @@ public class ADMLuceneTest extends TestCase // System.out.println("\tEnd = " + endDate); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + startDate + " TO " + endDate + "]", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + startDate + " TO " + endDate + "]", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + sDate + " TO " + endDate + "]", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + sDate + " TO " + endDate + "]", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + startDate + " TO " + sDate + "]", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":[" + startDate + " TO " + sDate + "]", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":{" + sDate + " TO " + endDate + "}", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":{" + sDate + " TO " + endDate + "}", null, null); assertEquals(0, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":{" + startDate + " TO " + sDate + "}", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":{" + startDate + " TO " + sDate + "}", null, null); assertEquals(0, results.length()); results.close(); } } - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "boolean-ista")) + ":\"true\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "boolean-ista")) + ":\"true\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "qname-ista")) + ":\"{wibble}wobble\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "qname-ista")) + ":\"{wibble}wobble\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "category-ista")) + ":\"" - + DefaultTypeConverter.INSTANCE.convert(String.class, new NodeRef(rootNodeRef.getStoreRef(), "CategoryId")) + "\"", null); + + DefaultTypeConverter.INSTANCE.convert(String.class, new NodeRef(rootNodeRef.getStoreRef(), "CategoryId")) + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "noderef-ista")) + ":\"" + n1 + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "noderef-ista")) + ":\"" + n1 + "\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "path-ista")) + ":\"" + nodeService.getPath(n3) + "\"", - null); + null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista"))); results.close(); // d:any - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"100\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"100\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "any-many-ista"))); results.close(); results = searcher - .query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"anyValueAsString\"", null); + .query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"anyValueAsString\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "any-many-ista"))); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"nintc\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"nintc\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "any-many-ista"))); results.close(); // proximity searches - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~0", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~0", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~1", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~1", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~2", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~2", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~3", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"Tutorial Alfresco\"~3", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Alfresco Tutorial\"", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Alfresco Tutorial\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~0", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~0", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~1", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~1", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~2", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~2", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~3", + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Tutorial Alfresco\"~3", null, null); assertEquals(1, results.length()); @@ -3784,177 +3781,177 @@ public class ADMLuceneTest extends TestCase // locale - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":\"en_GB_\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":\"en_GB_\"", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista"))); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_GB_", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_GB_", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista"))); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_*", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista"))); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_GB_*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_GB_*", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista"))); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_gb_*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_gb_*", null, null); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista"))); results.close(); // Type - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toString() + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toPrefixString(namespacePrefixResolver) + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toPrefixString(namespacePrefixResolver) + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toString() + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toPrefixString(namespacePrefixResolver) + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toPrefixString(namespacePrefixResolver) + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toString() + "\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toString() + "\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null, null); assertEquals(1, results.length()); results.close(); // Test for AR-384 - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox cm\\:name:fox", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox cm\\:name:fox", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fo AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fo AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", null, null); assertEquals(0, results.length()); results.close(); // Test stop words are equivalent - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"the\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"the\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"and\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"and\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"over the lazy\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"over the lazy\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"over a lazy\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"over a lazy\"", null, null); assertEquals(1, results.length()); results.close(); // Test wildcards in text - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:laz*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:laz*", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:laz~", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:laz~", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:la?y", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:la?y", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:?a?y", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:?a?y", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*azy", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*azy", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*az*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*az*", null, null); assertEquals(1, results.length()); results.close(); // Accents - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"\u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"\u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"aeidnouy\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"aeidnouy\"", null, null); assertEquals(1, results.length()); results.close(); // FTS test - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"fox\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"fox\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":\"fox\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":\"fox\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher - .query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".mimetype:\"text/plain\"", null); + .query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".mimetype:\"text/plain\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:\"en_GB\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:\"en_GB\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:en_*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:en_*", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:e*_GB", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:e*_GB", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".size:\"298\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".size:\"298\"", null, null); assertEquals(1, results.length()); results.close(); @@ -4045,9 +4042,8 @@ public class ADMLuceneTest extends TestCase sp = new SearchParameters(); sp.addStore(rootNodeRef.getStoreRef()); sp.setLanguage("lucene"); - sp.setQuery("TEXT:*cab*"); + sp.setQuery("TEXT:cab*"); sp.addTextAttribute("@" + orderText.toString()); - sp.addLocale(Locale.ENGLISH); results = searcher.query(sp); assertEquals(12, results.length()); results.close(); @@ -4648,13 +4644,13 @@ public class ADMLuceneTest extends TestCase sp.setLanguage("lucene"); sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*??*lf**sc***\""); results = searcher.query(sp); - assertEquals(1, results.length()); + assertEquals(0, results.length()); results.close(); sp = new SearchParameters(); sp.addStore(rootNodeRef.getStoreRef()); sp.setLanguage("lucene"); - sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Alfresc*tutorial\""); + sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfresc*tutorial\""); results = searcher.query(sp); assertEquals(0, results.length()); results.close(); @@ -4662,7 +4658,7 @@ public class ADMLuceneTest extends TestCase sp = new SearchParameters(); sp.addStore(rootNodeRef.getStoreRef()); sp.setLanguage("lucene"); - sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"Alf* tut*\""); + sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alf* tut*\""); results = searcher.query(sp); assertEquals(1, results.length()); results.close(); @@ -4978,55 +4974,55 @@ public class ADMLuceneTest extends TestCase // Test non field queries - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fo*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fo*", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:f*x", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:f*x", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*ox", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*ox", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fox", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fox", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fo*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fo*", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":f*x", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":f*x", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":*ox", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":*ox", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":fox", - null); + null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":fo*", - null); + null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":f*x", - null); + null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":*ox", - null); + null, null); assertEquals(1, results.length()); results.close(); @@ -5051,13 +5047,13 @@ public class ADMLuceneTest extends TestCase // TODO: should not have a null property type definition QueryParameterDefImpl paramDef = new QueryParameterDefImpl(QName.createQName("alf:lemur", namespacePrefixResolver), (DataTypeDefinition) null, true, "fox"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"${alf:lemur}\"", new QueryParameterDefinition[] { paramDef }); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"${alf:lemur}\"", null, new QueryParameterDefinition[] { paramDef }); assertEquals(1, results.length()); results.close(); paramDef = new QueryParameterDefImpl(QName.createQName("alf:intvalue", namespacePrefixResolver), (DataTypeDefinition) null, true, "1"); qname = QName.createQName(TEST_NAMESPACE, "int-ista"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"${alf:intvalue}\"", new QueryParameterDefinition[] { paramDef }); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"${alf:intvalue}\"", null, new QueryParameterDefinition[] { paramDef }); assertEquals(1, results.length()); assertNotNull(results.getRow(0).getValue(qname)); results.close(); @@ -5065,17 +5061,17 @@ public class ADMLuceneTest extends TestCase // Open ended ranges qname = QName.createQName("{namespace}property-1"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[v TO w]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[v TO w]", null, null); assertEquals(2, results.length()); results.close(); qname = QName.createQName("{namespace}property-1"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[v TO \uFFFF]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[v TO \uFFFF]", null, null); assertEquals(2, results.length()); results.close(); qname = QName.createQName("{namespace}property-1"); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[\u0000 TO w]", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[\u0000 TO w]", null, null); assertEquals(2, results.length()); results.close(); } @@ -5098,39 +5094,39 @@ public class ADMLuceneTest extends TestCase ResultSet - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//common\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one//common\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null); assertEquals(9, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//.\"", null, null); assertEquals(10, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(1, results.length()); results.close(); luceneFTS.resume(); @@ -5154,13 +5150,13 @@ public class ADMLuceneTest extends TestCase ResultSet - results = searcher.query(rootNodeRef.getStoreRef(), "xpath", "//./*", null); + results = searcher.query(rootNodeRef.getStoreRef(), "xpath", "//./*", null, null); assertEquals(14, results.length()); results.close(); luceneFTS.resume(); QueryParameterDefinition paramDef = new QueryParameterDefImpl(QName.createQName("alf:query", namespacePrefixResolver), (DataTypeDefinition) null, true, "//./*"); - results = searcher.query(rootNodeRef.getStoreRef(), "xpath", "${alf:query}", new QueryParameterDefinition[] { paramDef }); + results = searcher.query(rootNodeRef.getStoreRef(), "xpath", "${alf:query}", null, new QueryParameterDefinition[] { paramDef }); assertEquals(14, results.length()); results.close(); } @@ -5182,7 +5178,7 @@ public class ADMLuceneTest extends TestCase ResultSet - results = searcher.query(storeRef, "xpath", "//./*", null); + results = searcher.query(storeRef, "xpath", "//./*", null, null); assertEquals(0, results.length()); luceneFTS.resume(); } @@ -5260,184 +5256,184 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null); assertEquals(17, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null); assertEquals(16, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null); assertEquals(16, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null); assertEquals(16, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null); assertEquals(16, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null); assertEquals(16, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(0, results.length()); results.close(); luceneFTS.resume(); @@ -5473,7 +5469,7 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:" + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:" + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null, null); assertEquals(1, results.length()); results.close(); } @@ -5508,7 +5504,7 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:" + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:" + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null, null); assertEquals(1, results.length()); results.close(); } @@ -5551,187 +5547,187 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null); assertEquals(13, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null); assertEquals(15, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null); assertEquals(12, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(0, results.length()); results.close(); luceneFTS.resume(); @@ -5765,199 +5761,199 @@ public class ADMLuceneTest extends TestCase searcher.setNodeService(nodeService); searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*/*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null); assertEquals(4, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null); assertEquals(15, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null); assertEquals(23, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null); assertEquals(14, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null); assertEquals(22, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//common\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one//common\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one//common\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null); assertEquals(6, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null); assertEquals(9, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null); assertEquals(7, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//.\"", null, null); assertEquals(10, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null); assertEquals(1, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null); assertEquals(1, results.length()); results.close(); @@ -5994,15 +5990,15 @@ public class ADMLuceneTest extends TestCase searcher.setTenantService(tenantService); searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:link//.\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:link//.\"", null, null); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:link//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:link//.\"", null, null); assertEquals(3, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null, null); assertEquals(0, results.length()); results.close(); @@ -6030,14 +6026,14 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:link//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:link//.\"", null, null); assertEquals(0, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null, null); assertEquals(2, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:renamed_link//.\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:renamed_link//.\"", null, null); assertEquals(3, results.length()); results.close(); luceneFTS.resume(); @@ -6059,17 +6055,17 @@ public class ADMLuceneTest extends TestCase searcher.setTenantService(tenantService); ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"KEYONE\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"KEYONE\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"KEYTWO\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"KEYTWO\"", null, null); assertEquals(0, results.length()); results.close(); @@ -6094,17 +6090,17 @@ public class ADMLuceneTest extends TestCase searcher.setTenantService(tenantService); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"keyone\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"keyone\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"keytwo\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"keytwo\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"keyunstored\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"keyunstored\"", null, null); assertEquals(1, results.length()); results.close(); @@ -6128,17 +6124,17 @@ public class ADMLuceneTest extends TestCase searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"KEYONE\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"KEYONE\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"KEYTWO\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"KEYTWO\"", null, null); assertEquals(0, results.length()); results.close(); @@ -6151,7 +6147,7 @@ public class ADMLuceneTest extends TestCase searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace")); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"keyone\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"keyone\"", null, null); assertEquals(1, results.length()); results.close(); @@ -6177,12 +6173,12 @@ public class ADMLuceneTest extends TestCase Thread.sleep(35000); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"keytwo\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"keytwo\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" - + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null); + + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null, null); assertEquals(1, results.length()); results.close(); @@ -6209,17 +6205,17 @@ public class ADMLuceneTest extends TestCase searcher.setDictionaryService(dictionaryService); searcher.setTenantService(tenantService); - ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PARENT:\"" + rootNodeRef.toString() + "\"", null); + ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PARENT:\"" + rootNodeRef.toString() + "\"", null, null); assertEquals(5, results.length()); results.close(); - results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PARENT:\"" + rootNodeRef.toString() + "\" +QNAME:\"one\"", null); + results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PARENT:\"" + rootNodeRef.toString() + "\" +QNAME:\"one\"", null, null); assertEquals(1, results.length()); results.close(); results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "( +TYPE:\"{http://www.alfresco.org/model/content/1.0}content\" +@\\{http\\://www.alfresco.org/model/content/1.0\\}name:\"content woof\") OR TEXT:\"content\"", - null); + null, null); luceneFTS.resume(); } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/AnalysisMode.java b/source/java/org/alfresco/repo/search/impl/lucene/AnalysisMode.java index b373346a66..4c78517525 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/AnalysisMode.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/AnalysisMode.java @@ -27,16 +27,26 @@ package org.alfresco.repo.search.impl.lucene; public enum AnalysisMode { DEFAULT - , + { + public boolean isAnalysed() + { + return true; + } + }, TOKENISE - , + { + public boolean isAnalysed() + { + return true; + } + }, IDENTIFIER - , - FUZZY - , - PREFIX - , - WILD - ; + { + public boolean isAnalysed() + { + return false; + } + }; + public abstract boolean isAnalysed(); } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/LuceneAnalyser.java b/source/java/org/alfresco/repo/search/impl/lucene/LuceneAnalyser.java index 3e26f99a4e..f16250c0f4 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/LuceneAnalyser.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/LuceneAnalyser.java @@ -47,16 +47,15 @@ import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.WhitespaceAnalyzer; /** - * Analyse properties according to the property definition. The default is to use the standard tokeniser. The tokeniser - * should not have been called when indexing properties that require no tokenisation. (tokenise should be set to false - * when adding the field to the document) + * Analyse properties according to the property definition. The default is to use the standard tokeniser. The tokeniser should not have been called when indexing properties that + * require no tokenisation. (tokenise should be set to false when adding the field to the document) * * @author andyh */ public class LuceneAnalyser extends Analyzer { - private static Log s_logger = LogFactory.getLog(LuceneAnalyser.class); + private static Log s_logger = LogFactory.getLog(LuceneAnalyser.class); // Dictinary service to look up analyser classes by data type and locale. private DictionaryService dictionaryService; @@ -93,7 +92,7 @@ public class LuceneAnalyser extends Analyzer this.defaultAnalyser = defaultAnalyser; } - public TokenStream tokenStream(String fieldName, Reader reader, AnalysisMode analysisMode) + public TokenStream tokenStream(String fieldName, Reader reader) { // Treat multilingual as a special case. // If multilingual then we need to find the correct tokeniser. @@ -115,23 +114,18 @@ public class LuceneAnalyser extends Analyzer Analyzer analyser = (Analyzer) analysers.get(fieldName); if (analyser == null) { - analyser = findAnalyser(fieldName, analysisMode); + analyser = findAnalyser(fieldName); } return analyser.tokenStream(fieldName, reader); } - public TokenStream tokenStream(String fieldName, Reader reader) - { - return tokenStream(fieldName, reader, AnalysisMode.DEFAULT); - } - /** * Pick the analyser from the field name * * @param fieldName * @return */ - private Analyzer findAnalyser(String fieldName, AnalysisMode analysisMode) + private Analyzer findAnalyser(String fieldName) { Analyzer analyser; if (fieldName.equals("PATH")) @@ -174,7 +168,8 @@ public class LuceneAnalyser extends Analyzer // Temporary fix for person and user uids if (propertyQName.equals(ContentModel.PROP_USER_USERNAME) - || propertyQName.equals(ContentModel.PROP_USERNAME) || propertyQName.equals(ContentModel.PROP_AUTHORITY_NAME) + || propertyQName.equals(ContentModel.PROP_USERNAME) + || propertyQName.equals(ContentModel.PROP_AUTHORITY_NAME) || propertyQName.equals(ContentModel.PROP_MEMBERS)) { analyser = new VerbatimAnalyser(true); @@ -182,18 +177,11 @@ public class LuceneAnalyser extends Analyzer else { PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); - IndexTokenisationMode tokenise = IndexTokenisationMode.TRUE; if (propertyDef != null) { - DataTypeDefinition dataType = propertyDef.getDataType(); - tokenise = propertyDef.getIndexTokenisationMode(); - if (tokenise == null) + if ((propertyDef.getIndexTokenisationMode() == IndexTokenisationMode.BOTH) || (propertyDef.getIndexTokenisationMode() == IndexTokenisationMode.TRUE)) { - tokenise = IndexTokenisationMode.TRUE; - } - switch (tokenise) - { - case TRUE: + DataTypeDefinition dataType = propertyDef.getDataType(); if (dataType.getName().equals(DataTypeDefinition.CONTENT)) { analyser = new MLAnalayser(dictionaryService, MLAnalysisMode.ALL_ONLY); @@ -206,56 +194,16 @@ public class LuceneAnalyser extends Analyzer { analyser = loadAnalyzer(dataType); } - break; - case BOTH: - switch (analysisMode) - { - case DEFAULT: - case TOKENISE: - if (dataType.getName().equals(DataTypeDefinition.CONTENT)) - { - analyser = new MLAnalayser(dictionaryService, MLAnalysisMode.ALL_ONLY); - } - else if (dataType.getName().equals(DataTypeDefinition.TEXT)) - { - analyser = new MLAnalayser(dictionaryService, MLAnalysisMode.ALL_ONLY); - } - else - { - analyser = loadAnalyzer(dataType); - } - break; - case IDENTIFIER: - analyser = new VerbatimAnalyser(); - break; - default: - throw new UnsupportedOperationException("TYPE must not be tokenised"); - } - - break; - case FALSE: + } + else + { analyser = new VerbatimAnalyser(); - break; - default: - throw new UnsupportedOperationException("TYPE must not be tokenised"); } } else { - switch (analysisMode) - { - case IDENTIFIER: - analyser = new VerbatimAnalyser(); - break; - case DEFAULT: - case TOKENISE: - DataTypeDefinition dataType = dictionaryService.getDataType(DataTypeDefinition.TEXT); - analyser = loadAnalyzer(dataType); - break; - default: - throw new UnsupportedOperationException(); - } - + DataTypeDefinition dataType = dictionaryService.getDataType(DataTypeDefinition.TEXT); + analyser = loadAnalyzer(dataType); } } } @@ -276,7 +224,7 @@ public class LuceneAnalyser extends Analyzer */ private Analyzer loadAnalyzer(DataTypeDefinition dataType) { - String analyserClassName = dataType.getAnalyserClassName().trim(); + String analyserClassName = dataType.getAnalyserClassName(); try { Class clazz = Class.forName(analyserClassName); @@ -289,21 +237,23 @@ public class LuceneAnalyser extends Analyzer } catch (ClassNotFoundException e) { - throw new RuntimeException("Unable to load analyser for property of type " + dataType.getName() + " using " + analyserClassName); + throw new RuntimeException("Unable to load analyser for property of type " + + dataType.getName() + " using " + analyserClassName); } catch (InstantiationException e) { - throw new RuntimeException("Unable to load analyser for property of type " + dataType.getName() + " using " + analyserClassName); + throw new RuntimeException("Unable to load analyser for property of type " + + dataType.getName() + " using " + analyserClassName); } catch (IllegalAccessException e) { - throw new RuntimeException("Unable to load analyser for property of type " + dataType.getName() + " using " + analyserClassName); + throw new RuntimeException("Unable to load analyser for property of type " + + dataType.getName() + " using " + analyserClassName); } } /** - * For multilingual fields we separate the tokens for each instance to break phrase queries spanning different - * languages etc. + * For multilingual fields we separate the tokens for each instance to break phrase queries spanning different languages etc. */ @Override public int getPositionIncrementGap(String fieldName) diff --git a/source/java/org/alfresco/repo/search/impl/lucene/LuceneCategoryServiceImpl.java b/source/java/org/alfresco/repo/search/impl/lucene/LuceneCategoryServiceImpl.java index e3fa7d2372..53e5ea6ee4 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/LuceneCategoryServiceImpl.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/LuceneCategoryServiceImpl.java @@ -192,7 +192,7 @@ public class LuceneCategoryServiceImpl implements CategoryService break; } - resultSet = indexerAndSearcher.getSearcher(categoryRef.getStoreRef(), false).query(categoryRef.getStoreRef(), "lucene", luceneQuery.toString(), null); + resultSet = indexerAndSearcher.getSearcher(categoryRef.getStoreRef(), false).query(categoryRef.getStoreRef(), "lucene", luceneQuery.toString(), null, null); return resultSetToChildAssocCollection(resultSet); } @@ -287,7 +287,7 @@ public class LuceneCategoryServiceImpl implements CategoryService try { resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", - "PATH:\"/" + getPrefix(qname.getNamespaceURI()) + ISO9075.encode(qname.getLocalName()) + "\"", null); + "PATH:\"/" + getPrefix(qname.getNamespaceURI()) + ISO9075.encode(qname.getLocalName()) + "\"", null, null); Set nodeRefs = new HashSet(resultSet.length()); for (ResultSetRow row : resultSet) @@ -313,7 +313,7 @@ public class LuceneCategoryServiceImpl implements CategoryService ResultSet resultSet = null; try { - resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", "PATH:\"//cm:categoryRoot/*\"", null); + resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", "PATH:\"//cm:categoryRoot/*\"", null, null); return resultSetToChildAssocCollection(resultSet); } finally diff --git a/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java b/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java index 11fa6cd296..c1415d24b9 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java @@ -39,7 +39,6 @@ import java.util.Locale; import java.util.Set; import org.alfresco.i18n.I18NUtil; -import org.alfresco.repo.dictionary.IndexTokenisationMode; import org.alfresco.repo.search.MLAnalysisMode; import org.alfresco.repo.search.SearcherException; import org.alfresco.repo.search.impl.lucene.analysis.DateTimeAnalyser; @@ -65,7 +64,6 @@ import org.apache.commons.logging.LogFactory; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.Term; import org.apache.lucene.queryParser.CharStream; @@ -88,19 +86,6 @@ import org.saxpath.SAXPathException; import com.werken.saxpath.XPathReader; -/** - * Extensions to the standard lucene query parser. - *

- * Covers: - *

    - *
  • special fields; - *
  • range expansion; - *
  • adds wild card support for phrases; - *
  • exposes more helper methods to build lucene queries and request tokneisation bahviour. - *
- * - * @author andyh - */ public class LuceneQueryParser extends QueryParser { private static Log s_logger = LogFactory.getLog(LuceneQueryParser.class); @@ -119,8 +104,6 @@ public class LuceneQueryParser extends QueryParser private int internalSlop = 0; - private LuceneAnalyser luceneAnalyser; - /** * Parses a query string, returning a {@link org.apache.lucene.search.Query}. * @@ -187,10 +170,6 @@ public class LuceneQueryParser extends QueryParser public LuceneQueryParser(String arg0, Analyzer arg1) { super(arg0, arg1); - if (arg1 instanceof LuceneAnalyser) - { - luceneAnalyser = (LuceneAnalyser) arg1; - } } public LuceneQueryParser(CharStream arg0) @@ -217,7 +196,7 @@ public class LuceneQueryParser extends QueryParser } } - + public Query getFieldQuery(String field, String queryText, AnalysisMode analysisMode, int slop) throws ParseException { try @@ -232,18 +211,19 @@ public class LuceneQueryParser extends QueryParser } } + - public Query getLikeQuery(String field, String sqlLikeClause, AnalysisMode analysisMode) throws ParseException + public Query getLikeQuery(String field, String sqlLikeClause) throws ParseException { String luceneWildCardExpression = SearchLanguageConversion.convertSQLLikeToLucene(sqlLikeClause); - return getFieldQuery(field, luceneWildCardExpression, analysisMode); + return getFieldQuery(field, luceneWildCardExpression); } - public Query getDoesNotMatchFieldQuery(String field, String queryText, AnalysisMode analysisMode) throws ParseException + public Query getDoesNotMatchFieldQuery(String field, String queryText) throws ParseException { BooleanQuery query = new BooleanQuery(); Query allQuery = new MatchAllDocsQuery(); - Query matchQuery = getFieldQuery(field, queryText, analysisMode); + Query matchQuery = getFieldQuery(field, queryText); if ((matchQuery != null)) { query.add(allQuery, Occur.MUST); @@ -515,9 +495,8 @@ public class LuceneQueryParser extends QueryParser else { // find the prefix - QName qname = QName.createQName(namespacePrefixResolver.getNamespaceURI(queryText.substring(0, colonPosition)), queryText - .substring(colonPosition + 1)); - target = dictionaryService.getType(qname); + target = dictionaryService.getType(QName.createQName(namespacePrefixResolver.getNamespaceURI(queryText.substring(0, colonPosition)), queryText + .substring(colonPosition + 1))); } } if (target == null) @@ -788,22 +767,32 @@ public class LuceneQueryParser extends QueryParser // Use the analyzer to get all the tokens, and then build a TermQuery, // PhraseQuery, or nothing based on the term count - boolean requiresMLTokenDuplication = false; + boolean isMlText = false; String testText = queryText; String localeString = null; if (field.startsWith("@")) { - if (queryText.charAt(0) == '\u0000') + String expandedFieldName = expandAttributeFieldName(field); + QName propertyQName = QName.createQName(expandedFieldName.substring(1)); + PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); + if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.MLTEXT))) { int position = queryText.indexOf("\u0000", 1); testText = queryText.substring(position + 1); - requiresMLTokenDuplication = true; + isMlText = true; localeString = queryText.substring(1, position); } } - TokenStream source = getAnalyzer().tokenStream(field, new StringReader(queryText), analysisMode); - + TokenStream source; + if ((analysisMode == AnalysisMode.TOKENISE) ||(analysisMode == AnalysisMode.DEFAULT)) + { + source = getAnalyzer().tokenStream(field, new StringReader(queryText)); + } + else + { + source = new VerbatimAnalyser(false).tokenStream(field, new StringReader(queryText)); + } ArrayList list = new ArrayList(); org.apache.lucene.analysis.Token reusableToken = new org.apache.lucene.analysis.Token(); org.apache.lucene.analysis.Token nextToken; @@ -879,7 +868,7 @@ public class LuceneQueryParser extends QueryParser org.apache.lucene.analysis.Token newToken = new org.apache.lucene.analysis.Token(index - pre.length(), index); newToken.setTermBuffer(pre.toString()); newToken.setType("ALPHANUM"); - if (requiresMLTokenDuplication) + if (isMlText) { Locale locale = I18NUtil.parseLocale(localeString); MLAnalysisMode mlAnalysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters @@ -942,7 +931,7 @@ public class LuceneQueryParser extends QueryParser org.apache.lucene.analysis.Token newToken = new org.apache.lucene.analysis.Token(index + 1, index + 1 + post.length()); newToken.setTermBuffer(post.toString()); newToken.setType("ALPHANUM"); - if (requiresMLTokenDuplication) + if (isMlText) { Locale locale = I18NUtil.parseLocale(localeString); MLAnalysisMode mlAnalysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters @@ -1052,7 +1041,7 @@ public class LuceneQueryParser extends QueryParser } } String pre = prefix.toString(); - if (requiresMLTokenDuplication) + if (isMlText) { String termText = new String(c.termBuffer(), 0, c.termLength()); int position = termText.indexOf("}"); @@ -1097,7 +1086,7 @@ public class LuceneQueryParser extends QueryParser if ((pre.length() > 0) && (replace.endOffset() + pre.length()) == c.startOffset()) { String termText = new String(c.termBuffer(), 0, c.termLength()); - if (requiresMLTokenDuplication) + if (isMlText) { int position = termText.indexOf("}"); @SuppressWarnings("unused") @@ -1123,7 +1112,7 @@ public class LuceneQueryParser extends QueryParser else { String termText = new String(c.termBuffer(), 0, c.termLength()); - if (requiresMLTokenDuplication) + if (isMlText) { int position = termText.indexOf("}"); String language = termText.substring(0, position + 1); @@ -1398,144 +1387,24 @@ public class LuceneQueryParser extends QueryParser */ protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws ParseException { - return getRangeQuery(field, part1, part2, inclusive, inclusive, AnalysisMode.DEFAULT); + return getRangeQuery(field, part1, part2, inclusive, inclusive); } /** * @exception ParseException * throw in overridden method to disallow */ - public Query getRangeQuery(String field, String part1, String part2, boolean includeLower, boolean includeUpper, AnalysisMode analysisMode) throws ParseException + public Query getRangeQuery(String field, String part1, String part2, boolean includeLower, boolean includeUpper) throws ParseException { - if (field.startsWith("@")) { String fieldName = expandAttributeFieldName(field); QName propertyQName = QName.createQName(fieldName.substring(1)); PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); - - IndexTokenisationMode tokenisationMode = IndexTokenisationMode.TRUE; if (propertyDef != null) { - tokenisationMode = propertyDef.getIndexTokenisationMode(); - if (tokenisationMode == null) - { - tokenisationMode = IndexTokenisationMode.TRUE; - } - } - - if (propertyDef != null) - { - if (propertyDef.getDataType().getName().equals(DataTypeDefinition.MLTEXT)) - { - throw new UnsupportedOperationException("Range is not supported against ml-text"); - } - else if (propertyDef.getDataType().getName().equals(DataTypeDefinition.CONTENT)) - { - throw new UnsupportedOperationException("Range is not supported against content"); - } - else if (propertyDef.getDataType().getName().equals(DataTypeDefinition.TEXT)) - { - BooleanQuery booleanQuery = new BooleanQuery(); - MLAnalysisMode mlAnalysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode(); - List locales = searchParameters.getLocales(); - List expandedLocales = new ArrayList(); - for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : locales)) - { - expandedLocales.addAll(MLAnalysisMode.getLocales(mlAnalysisMode, locale, false)); - } - for (Locale locale : (((expandedLocales == null) || (expandedLocales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : expandedLocales)) - { - String textFieldName = fieldName; - - if (analysisMode == AnalysisMode.IDENTIFIER) - { - { - // text and ml text need locale - IndexTokenisationMode tm = propertyDef.getIndexTokenisationMode(); - if ((tm != null) && (tm == IndexTokenisationMode.BOTH)) - { - textFieldName = textFieldName + "." + locale + ".sort"; - } - - } - } - switch (tokenisationMode) - { - case BOTH: - switch (analysisMode) - { - case DEFAULT: - case TOKENISE: - StringBuilder builder = new StringBuilder(); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(part1); - String first = getToken(fieldName, builder.toString(), analysisMode); - - builder = new StringBuilder(); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(part2); - String last = getToken(fieldName, builder.toString(), analysisMode); - - Query query = new ConstantScoreRangeQuery(textFieldName, first, last, includeLower, includeUpper); - booleanQuery.add(query, Occur.SHOULD); - break; - case IDENTIFIER: - VerbatimAnalyser vba1 = new VerbatimAnalyser(false); - MLTokenDuplicator duplicator1 = new MLTokenDuplicator(vba1.tokenStream(field, new StringReader(part1)), locale, null, mlAnalysisMode); - - VerbatimAnalyser vba2 = new VerbatimAnalyser(false); - MLTokenDuplicator duplicator2 = new MLTokenDuplicator(vba2.tokenStream(field, new StringReader(part2)), locale, null, mlAnalysisMode); - - Token t1; - Token t2; - try - { - while (((t1 = duplicator1.next()) != null) && ((t2 = duplicator2.next()) != null)) - { - String lower = new String(t1.termBuffer(), 0, t1.termLength()); - String upper = new String(t2.termBuffer(), 0, t2.termLength()); - Query subQuery = new ConstantScoreRangeQuery(textFieldName, lower, upper, includeLower, includeUpper); - booleanQuery.add(subQuery, Occur.SHOULD); - } - } - catch (IOException e) - { - - } - if (booleanQuery.getClauses().length == 0) - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - - break; - - case WILD: - case PREFIX: - case FUZZY: - default: - throw new UnsupportedOperationException(); - } - break; - case FALSE: - case TRUE: - StringBuilder builder = new StringBuilder(); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(part1); - String first = getToken(fieldName, builder.toString(), analysisMode); - - builder = new StringBuilder(); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(part2); - String last = getToken(fieldName, builder.toString(), analysisMode); - - Query query = new ConstantScoreRangeQuery(textFieldName, first, last, includeLower, includeUpper); - booleanQuery.add(query, Occur.SHOULD); - break; - default: - } - - } - return booleanQuery; - } - else if (propertyDef.getDataType().getName().equals(DataTypeDefinition.DATETIME)) + if (propertyDef.getDataType().getName().equals(DataTypeDefinition.DATETIME)) { DataTypeDefinition dataType = propertyDef.getDataType(); String analyserClassName = dataType.getAnalyserClassName(); @@ -1616,31 +1485,29 @@ public class LuceneQueryParser extends QueryParser } else { - // Old Date time - String first = getToken(fieldName, part1, AnalysisMode.DEFAULT); - String last = getToken(fieldName, part2, AnalysisMode.DEFAULT); + String first = getToken(fieldName, part1); + String last = getToken(fieldName, part2); return new ConstantScoreRangeQuery(fieldName, first, last, includeLower, includeUpper); } } - else + else if (propertyDef.getDataType().getName().equals(DataTypeDefinition.TEXT) + || propertyDef.getDataType().getName().equals(DataTypeDefinition.CONTENT) || propertyDef.getDataType().getName().equals(DataTypeDefinition.ANY)) { - // Default property behaviour - String first = getToken(fieldName, part1, AnalysisMode.DEFAULT); - String last = getToken(fieldName, part2, AnalysisMode.DEFAULT); - return new ConstantScoreRangeQuery(fieldName, first, last, includeLower, includeUpper); + if (getLowercaseExpandedTerms()) + { + part1 = part1.toLowerCase(); + part2 = part2.toLowerCase(); + } + return new ConstantScoreRangeQuery(fieldName, part1.equals("\u0000") ? null : part1, part2.equals("\uFFFF") ? null : part2, includeLower, includeUpper); } } - else - { - // No DD def - String first = getToken(fieldName, part1, AnalysisMode.DEFAULT); - String last = getToken(fieldName, part2, AnalysisMode.DEFAULT); - return new ConstantScoreRangeQuery(fieldName, first, last, includeLower, includeUpper); - } + + String first = getToken(fieldName, part1); + String last = getToken(fieldName, part2); + return new ConstantScoreRangeQuery(fieldName, first, last, includeLower, includeUpper); } else { - // None property - leave alone if (getLowercaseExpandedTerms()) { part1 = part1.toLowerCase(); @@ -2310,7 +2177,6 @@ public class LuceneQueryParser extends QueryParser private String expandAttributeFieldName(String field) { - String fieldName = field; // Check for any prefixes and expand to the full uri if (field.charAt(1) != '{') @@ -2351,9 +2217,9 @@ public class LuceneQueryParser extends QueryParser return fieldName; } - private String getToken(String field, String value, AnalysisMode analysisMode) throws ParseException + private String getToken(String field, String value) throws ParseException { - TokenStream source = getAnalyzer().tokenStream(field, new StringReader(value), analysisMode); + TokenStream source = getAnalyzer().tokenStream(field, new StringReader(value)); org.apache.lucene.analysis.Token reusableToken = new org.apache.lucene.analysis.Token(); org.apache.lucene.analysis.Token nextToken; String tokenised = null; @@ -2389,7 +2255,7 @@ public class LuceneQueryParser extends QueryParser { if (field.startsWith("@")) { - return attributeQueryBuilder(field, termStr, new PrefixQuery(), AnalysisMode.PREFIX); + return attributeQueryBuilder(field, termStr, new PrefixQuery(), AnalysisMode.IDENTIFIER); } else if (field.equals("TEXT")) { @@ -2442,7 +2308,7 @@ public class LuceneQueryParser extends QueryParser { if (field.startsWith("@")) { - return attributeQueryBuilder(field, termStr, new WildcardQuery(), AnalysisMode.WILD); + return attributeQueryBuilder(field, termStr, new WildcardQuery(), AnalysisMode.IDENTIFIER); } else if (field.equals("TEXT")) @@ -2496,7 +2362,7 @@ public class LuceneQueryParser extends QueryParser { if (field.startsWith("@")) { - return attributeQueryBuilder(field, termStr, new FuzzyQuery(minSimilarity), AnalysisMode.FUZZY); + return attributeQueryBuilder(field, termStr, new FuzzyQuery(minSimilarity), AnalysisMode.IDENTIFIER); } else if (field.equals("TEXT")) @@ -2572,14 +2438,14 @@ public class LuceneQueryParser extends QueryParser interface SubQuery { - Query getQuery(String field, String queryText, AnalysisMode analysisMode) throws ParseException; + Query getQuery(String field, String queryText) throws ParseException; } class FieldQuery implements SubQuery { - public Query getQuery(String field, String queryText, AnalysisMode analysisMode) throws ParseException + public Query getQuery(String field, String queryText) throws ParseException { - return getSuperFieldQuery(field, queryText, analysisMode); + return getSuperFieldQuery(field, queryText, AnalysisMode.DEFAULT); } } @@ -2592,7 +2458,7 @@ public class LuceneQueryParser extends QueryParser this.minSimilarity = minSimilarity; } - public Query getQuery(String field, String termStr, AnalysisMode analysisMode) throws ParseException + public Query getQuery(String field, String termStr) throws ParseException { return getSuperFuzzyQuery(field, termStr, minSimilarity); } @@ -2600,7 +2466,7 @@ public class LuceneQueryParser extends QueryParser class PrefixQuery implements SubQuery { - public Query getQuery(String field, String termStr, AnalysisMode analysisMode) throws ParseException + public Query getQuery(String field, String termStr) throws ParseException { return getSuperPrefixQuery(field, termStr); } @@ -2608,7 +2474,7 @@ public class LuceneQueryParser extends QueryParser class WildcardQuery implements SubQuery { - public Query getQuery(String field, String termStr, AnalysisMode analysisMode) throws ParseException + public Query getQuery(String field, String termStr) throws ParseException { return getSuperWildcardQuery(field, termStr); } @@ -2616,9 +2482,6 @@ public class LuceneQueryParser extends QueryParser private Query attributeQueryBuilder(String field, String queryText, SubQuery subQueryBuilder, AnalysisMode analysisMode) throws ParseException { - // TODO: Fix duplicate token generation for mltext, content and text. - // -locale expansion here and in tokeisation -> duplicates - // Expand prefixes String expandedFieldName = expandAttributeFieldName(field); @@ -2630,7 +2493,7 @@ public class LuceneQueryParser extends QueryParser PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.CONTENT))) { - return subQueryBuilder.getQuery(expandedFieldName, queryText, analysisMode); + return subQueryBuilder.getQuery(expandedFieldName, queryText); } } @@ -2640,7 +2503,7 @@ public class LuceneQueryParser extends QueryParser PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.CONTENT))) { - return subQueryBuilder.getQuery(expandedFieldName, queryText, analysisMode); + return subQueryBuilder.getQuery(expandedFieldName, queryText); } } @@ -2650,7 +2513,7 @@ public class LuceneQueryParser extends QueryParser PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.CONTENT))) { - return subQueryBuilder.getQuery(expandedFieldName, queryText, analysisMode); + return subQueryBuilder.getQuery(expandedFieldName, queryText); } } @@ -2661,151 +2524,63 @@ public class LuceneQueryParser extends QueryParser QName propertyQName = QName.createQName(expandedFieldName.substring(1)); PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName); - IndexTokenisationMode tokenisationMode = IndexTokenisationMode.TRUE; - if (propertyDef != null) - { - tokenisationMode = propertyDef.getIndexTokenisationMode(); - if (tokenisationMode == null) - { - tokenisationMode = IndexTokenisationMode.TRUE; - } - } - if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.MLTEXT))) { // Build a sub query for each locale and or the results together - the analysis will take care of // cross language matching for each entry BooleanQuery booleanQuery = new BooleanQuery(); - MLAnalysisMode mlAnalysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode(); List locales = searchParameters.getLocales(); - List expandedLocales = new ArrayList(); for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : locales)) { - expandedLocales.addAll(MLAnalysisMode.getLocales(mlAnalysisMode, locale, false)); - } - for (Locale locale : (((expandedLocales == null) || (expandedLocales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : expandedLocales)) - { - String mlFieldName = expandedFieldName; - if ((tokenisationMode == IndexTokenisationMode.BOTH) && (analysisMode == AnalysisMode.IDENTIFIER)) + if (analysisMode.isAnalysed()) { + StringBuilder builder = new StringBuilder(queryText.length() + 10); + builder.append("\u0000").append(locale.toString()).append("\u0000").append(queryText); + Query subQuery = subQueryBuilder.getQuery(expandedFieldName, builder.toString()); + if (subQuery != null) { - // text and ml text need locale - IndexTokenisationMode tm = propertyDef.getIndexTokenisationMode(); - if ((tm != null) && (tm == IndexTokenisationMode.BOTH)) - { - mlFieldName = mlFieldName + "." + locale + ".sort"; - } - + booleanQuery.add(subQuery, Occur.SHOULD); + } + else + { + booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); } } - - Query subQuery = null; - switch (tokenisationMode) + else { - case BOTH: - switch (analysisMode) + // analyse ml text + MLAnalysisMode mlAnalysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode(); + // Do the analysis here + VerbatimAnalyser vba = new VerbatimAnalyser(false); + MLTokenDuplicator duplicator = new MLTokenDuplicator(vba.tokenStream(field, new StringReader(queryText)), locale, null, mlAnalysisMode); + Token t; + try { - default: - case DEFAULT: - case TOKENISE: - StringBuilder builder = new StringBuilder(queryText.length() + 10); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(queryText); - subQuery = subQueryBuilder.getQuery(mlFieldName, builder.toString(), analysisMode); - if (subQuery != null) + while ((t = duplicator.next()) != null) { + String termText = new String(t.termBuffer(), 0, t.termLength()); + Query subQuery = subQueryBuilder.getQuery(expandedFieldName, termText); booleanQuery.add(subQuery, Occur.SHOULD); } - else - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - break; - case IDENTIFIER: - case FUZZY: - case PREFIX: - case WILD: - // Do the analysis here - VerbatimAnalyser vba = new VerbatimAnalyser(false); - MLTokenDuplicator duplicator = new MLTokenDuplicator(vba.tokenStream(field, new StringReader(queryText)), locale, null, mlAnalysisMode); - Token t; - try - { - while ((t = duplicator.next()) != null) - { - String termText = new String(t.termBuffer(), 0, t.termLength()); - subQuery = subQueryBuilder.getQuery(mlFieldName, termText, analysisMode); - booleanQuery.add(subQuery, Occur.SHOULD); - } - } - catch (IOException e) - { - - } - if (booleanQuery.getClauses().length == 0) - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - - break; } - break; - case FALSE: - case TRUE: - default: - switch (analysisMode) + catch (IOException e) { - default: - case DEFAULT: - case TOKENISE: - case IDENTIFIER: - StringBuilder builder = new StringBuilder(queryText.length() + 10); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(queryText); - subQuery = subQueryBuilder.getQuery(mlFieldName, builder.toString(), analysisMode); - if (subQuery != null) - { - booleanQuery.add(subQuery, Occur.SHOULD); - } - else - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - break; - case FUZZY: - case PREFIX: - case WILD: - VerbatimAnalyser vba = new VerbatimAnalyser(false); - MLTokenDuplicator duplicator = new MLTokenDuplicator(vba.tokenStream(field, new StringReader(queryText)), locale, null, mlAnalysisMode); - Token t; - try - { - while ((t = duplicator.next()) != null) - { - String termText = new String(t.termBuffer(), 0, t.termLength()); - subQuery = subQueryBuilder.getQuery(mlFieldName, termText, analysisMode); - booleanQuery.add(subQuery, Occur.SHOULD); - } - } - catch (IOException e) - { - } - if (booleanQuery.getClauses().length == 0) - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - - break; } + if (booleanQuery.getClauses().length == 0) + { + booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); + } + } + } return booleanQuery; } // Content else if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.CONTENT))) { - // Identifier request are ignored for content - // Build a sub query for each locale and or the results together - // - add an explicit condition for the locale @@ -2813,7 +2588,7 @@ public class LuceneQueryParser extends QueryParser if (mlAnalysisMode.includesAll()) { - return subQueryBuilder.getQuery(expandedFieldName, queryText, analysisMode); + return subQueryBuilder.getQuery(expandedFieldName, queryText); } List locales = searchParameters.getLocales(); @@ -2826,7 +2601,7 @@ public class LuceneQueryParser extends QueryParser if (expandedLocales.size() > 0) { BooleanQuery booleanQuery = new BooleanQuery(); - Query contentQuery = subQueryBuilder.getQuery(expandedFieldName, queryText, analysisMode); + Query contentQuery = subQueryBuilder.getQuery(expandedFieldName, queryText); if (contentQuery != null) { booleanQuery.add(contentQuery, Occur.MUST); @@ -2867,7 +2642,7 @@ public class LuceneQueryParser extends QueryParser } else { - Query query = subQueryBuilder.getQuery(expandedFieldName, queryText, analysisMode); + Query query = subQueryBuilder.getQuery(expandedFieldName, queryText); if (query != null) { return query; @@ -2879,141 +2654,9 @@ public class LuceneQueryParser extends QueryParser } } - else if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.TEXT))) - { - BooleanQuery booleanQuery = new BooleanQuery(); - MLAnalysisMode mlAnalysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode(); - List locales = searchParameters.getLocales(); - List expandedLocales = new ArrayList(); - for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : locales)) - { - expandedLocales.addAll(MLAnalysisMode.getLocales(mlAnalysisMode, locale, false)); - } - for (Locale locale : (((expandedLocales == null) || (expandedLocales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : expandedLocales)) - { - String textFieldName = expandedFieldName; - - if ((tokenisationMode == IndexTokenisationMode.BOTH) && (analysisMode == AnalysisMode.IDENTIFIER)) - { - { - // text and ml text need locale - IndexTokenisationMode tm = propertyDef.getIndexTokenisationMode(); - if ((tm != null) && (tm == IndexTokenisationMode.BOTH)) - { - textFieldName = textFieldName + "." + locale + ".sort"; - } - - } - } - - Query subQuery = null; - switch (tokenisationMode) - { - case BOTH: - switch (analysisMode) - { - default: - case DEFAULT: - case TOKENISE: - StringBuilder builder = new StringBuilder(); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(queryText); - Query query = subQueryBuilder.getQuery(textFieldName, builder.toString(), analysisMode); - if (query != null) - { - booleanQuery.add(query, Occur.SHOULD); - } - else - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - break; - case IDENTIFIER: - case FUZZY: - case PREFIX: - case WILD: - // Do the analysis here - VerbatimAnalyser vba = new VerbatimAnalyser(false); - MLTokenDuplicator duplicator = new MLTokenDuplicator(vba.tokenStream(field, new StringReader(queryText)), locale, null, mlAnalysisMode); - Token t; - try - { - while ((t = duplicator.next()) != null) - { - String termText = new String(t.termBuffer(), 0, t.termLength()); - subQuery = subQueryBuilder.getQuery(textFieldName, termText, analysisMode); - booleanQuery.add(subQuery, Occur.SHOULD); - } - } - catch (IOException e) - { - - } - if (booleanQuery.getClauses().length == 0) - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - - break; - } - break; - case FALSE: - case TRUE: - default: - switch (analysisMode) - { - case DEFAULT: - case TOKENISE: - case IDENTIFIER: - StringBuilder builder = new StringBuilder(); - builder.append("\u0000").append(locale.toString()).append("\u0000").append(queryText); - Query query = subQueryBuilder.getQuery(textFieldName, builder.toString(), analysisMode); - if (query != null) - { - booleanQuery.add(query, Occur.SHOULD); - } - else - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - break; - case FUZZY: - case PREFIX: - case WILD: - // Do the analysis here - VerbatimAnalyser vba = new VerbatimAnalyser(false); - MLTokenDuplicator duplicator = new MLTokenDuplicator(vba.tokenStream(field, new StringReader(queryText)), locale, null, mlAnalysisMode); - Token t; - try - { - while ((t = duplicator.next()) != null) - { - String termText = new String(t.termBuffer(), 0, t.termLength()); - subQuery = subQueryBuilder.getQuery(textFieldName, termText, analysisMode); - booleanQuery.add(subQuery, Occur.SHOULD); - } - } - catch (IOException e) - { - - } - if (booleanQuery.getClauses().length == 0) - { - booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD); - } - - break; - } - break; - } - - } - return booleanQuery; - } else { - // Sort and id is only special for MLText, text, and content - // Dates are not special in this case - Query query = subQueryBuilder.getQuery(expandedFieldName, queryText, AnalysisMode.DEFAULT); + Query query = subQueryBuilder.getQuery(expandedFieldName, queryText); if (query != null) { return query; @@ -3053,11 +2696,4 @@ public class LuceneQueryParser extends QueryParser query = lqp.buildDateTimeRange("TEST", start, end, false, false); System.out.println("Query is " + query); } - - @Override - public LuceneAnalyser getAnalyzer() - { - return luceneAnalyser; - } - } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSet.java b/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSet.java index 8637ad960f..81724fb396 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSet.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSet.java @@ -79,10 +79,10 @@ public class LuceneResultSet extends AbstractResultSet * @param storeRef * @param hits */ - public LuceneResultSet(Hits hits, Searcher searcher, NodeService nodeService, TenantService tenantService, SearchParameters searchParameters, + public LuceneResultSet(Hits hits, Searcher searcher, NodeService nodeService, TenantService tenantService, Path[] propertyPaths, SearchParameters searchParameters, LuceneConfig config) { - super(); + super(propertyPaths); this.hits = hits; this.searcher = searcher; this.nodeService = nodeService; @@ -246,14 +246,4 @@ public class LuceneResultSet extends AbstractResultSet { return new SimpleResultSetMetaData(LimitBy.UNLIMITED, PermissionEvaluationMode.EAGER, searchParameters); } - - public int getStart() - { - throw new UnsupportedOperationException(); - } - - public boolean hasMore() - { - throw new UnsupportedOperationException(); - } } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSetRow.java b/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSetRow.java index 64d9ab489f..ff485aead6 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSetRow.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/LuceneResultSetRow.java @@ -140,24 +140,4 @@ public class LuceneResultSetRow extends AbstractResultSetRow return new ChildAssociationRef(getPrimaryAssocTypeQName(), parentNodeRef, getQName(), childNodeRef); } - public NodeRef getNodeRef(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getNodeRefs() - { - throw new UnsupportedOperationException(); - } - - public float getScore(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getScores() - { - throw new UnsupportedOperationException(); - } - } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java index 71addacdb9..78bb998cd6 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java @@ -95,7 +95,6 @@ public class MLTokenDuplicator extends Tokenizer @Override public Token next() throws IOException { - Token t = null; if (it == null) { it = buildIterator(); @@ -106,14 +105,12 @@ public class MLTokenDuplicator extends Tokenizer } if (it.hasNext()) { - t = it.next(); - return t; + return it.next(); } else { it = null; - t = this.next(); - return t; + return this.next(); } } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/index/IndexInfo.java b/source/java/org/alfresco/repo/search/impl/lucene/index/IndexInfo.java index 7ade1a1b15..fffb83ed11 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/index/IndexInfo.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/index/IndexInfo.java @@ -2454,8 +2454,8 @@ public class IndexInfo implements IndexMonitor ConfigurableApplicationContext ac = ApplicationContextHelper.getApplicationContext(); XPathReader reader = new XPathReader(); LuceneXPathHandler handler = new LuceneXPathHandler(); - handler.setNamespacePrefixResolver((NamespaceService) ac.getBean("namespaceService")); - handler.setDictionaryService((DictionaryService) ac.getBean("dictionaryService")); + handler.setNamespacePrefixResolver((NamespaceService)ac.getBean("namespaceService")); + handler.setDictionaryService((DictionaryService)ac.getBean("dictionaryService")); reader.setXPathHandler(handler); reader.parse(path); PathQuery pathQuery = handler.getQuery(); @@ -2486,249 +2486,215 @@ public class IndexInfo implements IndexMonitor } IndexReader reader = ii.getMainIndexReferenceCountingReadOnlyIndexReader(); System.out.println(reader.getFieldNames(FieldOption.ALL)); - - TermEnum te = reader.terms(); - while (te.next()) - { - if (te.term().field().contains("FTS")) - { - System.out.println(te.term()); - } - } - // @{http://www.alfresco.org/model/content/1.0}name:product363_ocmwbeersel - IndexSearcher searcher = new IndexSearcher(reader); - Query query = new TermQuery(new Term("@{http://www.alfresco.org/model/content/1.0}name", "product363_ocmwbeersel")); + Query query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}DestinationName", "bambino")); start = System.nanoTime(); Hits hits = searcher.search(query); end = System.nanoTime(); - System.out.println("@{http://www.alfresco.org/model/content/1.0}name:product363_ocmwbeersel = " + hits.length() + " in " + ((end - start) / 1e9)); + System.out.println("@{http://www.travelmuse.com/wcm}DestinationName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); searcher.close(); searcher = new IndexSearcher(reader); - query = new WildcardQuery(new Term("@{http://www.alfresco.org/model/content/1.0}name", "b*")); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}DestinationName", "bambino")); start = System.nanoTime(); hits = searcher.search(query); end = System.nanoTime(); - System.out.println("@{http://www.alfresco.org/model/content/1.0}name:b* = " + hits.length() + " in " + ((end - start) / 1e9)); + System.out.println("@{http://www.travelmuse.com/wcm}DestinationName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); searcher.close(); searcher = new IndexSearcher(reader); - query = new TermQuery(new Term("@{http://www.alfresco.org/model/content/1.0}name", "be")); + query = new WildcardQuery(new Term("@{http://www.travelmuse.com/wcm}DestinationPhoto", "*")); start = System.nanoTime(); hits = searcher.search(query); end = System.nanoTime(); - System.out.println("@{http://www.alfresco.org/model/content/1.0}name:be = " + hits.length() + " in " + ((end - start) / 1e9)); + System.out.println("@{http://www.travelmuse.com/wcm}DestinationPhoto:* = " + hits.length() + " in " + ((end - start) / 1e9)); searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new WildcardQuery(new Term("@{http://www.travelmuse.com/wcm}DestinationPhoto", "*")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}DestinationPhoto:* = " + hits.length() + " in " + ((end - - // start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new WildcardQuery(new Term("@{http://www.travelmuse.com/wcm}DestinationPhoto", "*")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}DestinationPhoto:* = " + hits.length() + " in " + ((end - - // start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ThemeName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}ThemeName:bambino = " + hits.length() + " in " + ((end - - // start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ThemeName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}ThemeName:bambino = " + hits.length() + " in " + ((end - - // start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ActivityName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}ActivityName:bambino = " + hits.length() + " in " + ((end - // - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ActivityName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}ActivityName:bambino = " + hits.length() + " in " + ((end - // - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}EditorialItemTitle", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}EditorialItemTitle:bambino = " + hits.length() + " in " + - // ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}EditorialItemTitle", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}EditorialItemTitle:bambino = " + hits.length() + " in " + - // ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PoiName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}PoiName:bambino = " + hits.length() + " in " + ((end - - // start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PoiName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}PoiName:bambino = " + hits.length() + " in " + ((end - - // start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PropertyName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}PropertyName:bambino = " + hits.length() + " in " + ((end - // - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PropertyName", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.travelmuse.com/wcm}PropertyName:bambino = " + hits.length() + " in " + ((end - // - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.alfresco.org/model/content/1.0}content", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.alfresco.org/model/content/1.0}content:bambino = " + hits.length() + " in " - // + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = new TermQuery(new Term("@{http://www.alfresco.org/model/content/1.0}content", "bambino")); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("@{http://www.alfresco.org/model/content/1.0}content:bambino = " + hits.length() + " in " - // + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/editorial//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/editorial//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/editorial//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/editorial//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/tag//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/tag//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/tag//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/tag//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/poi//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/poi//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/poi//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/poi//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/property//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/property//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/property//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/property//* = " + hits.length() + " in " + ((end - start) / 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/web-reviews//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/web-reviews//* = " + hits.length() + " in " + ((end - start) / - // 1e9)); - // searcher.close(); - // - // searcher = new IndexSearcher(reader); - // query = getPathQuery("/www/avm_webapps/ROOT/web-reviews//*"); - // start = System.nanoTime(); - // hits = searcher.search(query); - // end = System.nanoTime(); - // System.out.println("/www/avm_webapps/ROOT/web-reviews//* = " + hits.length() + " in " + ((end - start) / - // 1e9)); - // searcher.close(); + + searcher = new IndexSearcher(reader); + query = new WildcardQuery(new Term("@{http://www.travelmuse.com/wcm}DestinationPhoto", "*")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}DestinationPhoto:* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ThemeName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}ThemeName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ThemeName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}ThemeName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ActivityName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}ActivityName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}ActivityName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}ActivityName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}EditorialItemTitle", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}EditorialItemTitle:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}EditorialItemTitle", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}EditorialItemTitle:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PoiName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}PoiName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PoiName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}PoiName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PropertyName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}PropertyName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.travelmuse.com/wcm}PropertyName", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.travelmuse.com/wcm}PropertyName:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.alfresco.org/model/content/1.0}content", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.alfresco.org/model/content/1.0}content:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = new TermQuery(new Term("@{http://www.alfresco.org/model/content/1.0}content", "bambino")); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("@{http://www.alfresco.org/model/content/1.0}content:bambino = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/editorial//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/editorial//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/editorial//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/editorial//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/tag//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/tag//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/tag//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/tag//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/poi//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/poi//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/poi//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/poi//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/property//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/property//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/property//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/property//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/web-reviews//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/web-reviews//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + + searcher = new IndexSearcher(reader); + query = getPathQuery("/www/avm_webapps/ROOT/web-reviews//*"); + start = System.nanoTime(); + hits = searcher.search(query); + end = System.nanoTime(); + System.out.println("/www/avm_webapps/ROOT/web-reviews//* = " + hits.length() + " in " + ((end - start) / 1e9)); + searcher.close(); + // TermEnum terms = reader.terms(new Term("@{http://www.alfresco.org/model/user/1.0}members", "")); // while (terms.next() && terms.term().field().equals("@{http://www.alfresco.org/model/user/1.0}members")) diff --git a/source/java/org/alfresco/repo/search/impl/parsers/FTS.g b/source/java/org/alfresco/repo/search/impl/parsers/FTS.g index 964435a3ed..085d402560 100644 --- a/source/java/org/alfresco/repo/search/impl/parsers/FTS.g +++ b/source/java/org/alfresco/repo/search/impl/parsers/FTS.g @@ -34,7 +34,7 @@ grammar FTS; options { output=AST; - backtrack=false; + backtrack=false; // Only set to true for grammar debug } /* @@ -57,7 +57,7 @@ tokens MANDATORY; OPTIONAL; EXCLUDE; - + FIELD_DISJUNCTION; FIELD_CONJUNCTION; FIELD_NEGATION; @@ -84,8 +84,6 @@ tokens BOOST; FUZZY; - - TEMPLATE; } @@ -278,19 +276,9 @@ ftsTest -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction - | template - -> template ; - -template - : PERCENT tempReference - -> ^(TEMPLATE tempReference) - | PERCENT LPAREN (tempReference COMMA?)+ RPAREN - -> ^(TEMPLATE tempReference+) - ; - fuzzy : TILDA number -> ^(FUZZY number) @@ -440,11 +428,6 @@ fieldReference -> ^(FIELD_REF identifier prefix? uri?) ; -tempReference - : AT? (prefix|uri)? identifier - -> ^(FIELD_REF identifier prefix? uri?) - ; - prefix : identifier COLON -> ^(PREFIX identifier) @@ -578,7 +561,6 @@ DOLLAR : '$'; GT : '>'; LT : '<'; AT : '@'; -PERCENT : '%'; /** * ID diff --git a/source/java/org/alfresco/repo/search/impl/parsers/FTS.tokens b/source/java/org/alfresco/repo/search/impl/parsers/FTS.tokens index 633bca1f34..2ebbb9c298 100644 --- a/source/java/org/alfresco/repo/search/impl/parsers/FTS.tokens +++ b/source/java/org/alfresco/repo/search/impl/parsers/FTS.tokens @@ -1,91 +1,89 @@ PREFIX=36 -LT=58 -EXPONENT=89 -STAR=54 -LSQUARE=57 +LT=55 +EXPONENT=87 +STAR=51 +LSQUARE=54 FG_TERM=26 FUZZY=39 FIELD_DISJUNCTION=18 -EQUALS=52 -F_URI_ALPHA=74 +EQUALS=49 +F_URI_ALPHA=71 FG_EXACT_TERM=27 -NOT=69 +NOT=66 FIELD_EXCLUDE=25 NAME_SPACE=37 -RPAREN=45 -FLOATING_POINT_LITERAL=70 -EXCLAMATION=72 -QUESTION_MARK=80 -ZERO_DIGIT=90 +RPAREN=44 +FLOATING_POINT_LITERAL=67 +EXCLAMATION=69 +QUESTION_MARK=77 +ZERO_DIGIT=88 FIELD_OPTIONAL=24 SYNONYM=11 -E=92 +E=90 CONJUNCTION=6 -FTSWORD=64 -URI=62 +FTSWORD=61 +URI=59 DISJUNCTION=5 FTS=4 -WS=94 +WS=92 FG_SYNONYM=29 -FTSPHRASE=53 +FTSPHRASE=50 FIELD_CONJUNCTION=19 INCLUSIVE=33 -OR=67 -GT=60 -F_HEX=77 -DECIMAL_INTEGER_LITERAL=49 -FTSPRE=65 +OR=64 +GT=57 +F_HEX=74 +DECIMAL_INTEGER_LITERAL=46 +FTSPRE=62 FG_PHRASE=28 FIELD_NEGATION=20 TERM=8 -DOLLAR=83 -START_RANGE_I=86 -AMP=71 +DOLLAR=81 +START_RANGE_I=84 +AMP=68 FG_PROXIMITY=30 EXACT_TERM=9 -START_RANGE_F=87 -DOTDOT=55 +START_RANGE_F=85 +DOTDOT=52 MANDATORY=15 EXCLUSIVE=34 -ID=63 -AND=68 -LPAREN=44 +ID=60 +AND=65 +LPAREN=43 BOOST=38 -AT=61 -TILDA=48 -DECIMAL_NUMERAL=84 -COMMA=47 -F_URI_DIGIT=75 -SIGNED_INTEGER=93 +AT=58 +TILDA=45 +DECIMAL_NUMERAL=82 +COMMA=80 +F_URI_DIGIT=72 +SIGNED_INTEGER=91 FIELD_DEFAULT=22 -CARAT=50 -PLUS=41 -DIGIT=88 -DOT=79 -F_ESC=73 +CARAT=47 +PLUS=40 +DIGIT=86 +DOT=76 +F_ESC=70 EXCLUDE=17 -PERCENT=46 -NON_ZERO_DIGIT=91 +NON_ZERO_DIGIT=89 QUALIFIER=35 -TO=56 +TO=53 FIELD_GROUP=21 DEFAULT=14 -INWORD=85 +INWORD=83 RANGE=12 -MINUS=43 -RSQUARE=59 +MINUS=42 +RSQUARE=56 FIELD_REF=32 PROXIMITY=13 PHRASE=10 OPTIONAL=16 -COLON=51 -LCURL=81 -F_URI_OTHER=76 +COLON=48 +LCURL=78 +F_URI_OTHER=73 NEGATION=7 -F_URI_ESC=78 -TEMPLATE=40 -RCURL=82 +F_URI_ESC=75 +RCURL=79 FIELD_MANDATORY=23 FG_RANGE=31 -BAR=42 -FTSWILD=66 +BAR=41 +FTSWILD=63 diff --git a/source/java/org/alfresco/repo/search/impl/parsers/FTSLexer.java b/source/java/org/alfresco/repo/search/impl/parsers/FTSLexer.java index d686949a09..08b2f6af51 100644 --- a/source/java/org/alfresco/repo/search/impl/parsers/FTSLexer.java +++ b/source/java/org/alfresco/repo/search/impl/parsers/FTSLexer.java @@ -1,4 +1,4 @@ -// $ANTLR !Unknown version! W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g 2009-05-15 10:34:21 +// $ANTLR !Unknown version! W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g 2009-05-01 12:22:12 package org.alfresco.repo.search.impl.parsers; import org.antlr.runtime.*; @@ -9,97 +9,95 @@ import java.util.Map; import java.util.HashMap; public class FTSLexer extends Lexer { public static final int PREFIX=36; - public static final int EXPONENT=89; - public static final int LT=58; - public static final int STAR=54; - public static final int LSQUARE=57; + public static final int EXPONENT=87; + public static final int LT=55; + public static final int STAR=51; + public static final int LSQUARE=54; public static final int FG_TERM=26; public static final int FUZZY=39; public static final int FIELD_DISJUNCTION=18; - public static final int EQUALS=52; - public static final int F_URI_ALPHA=74; + public static final int EQUALS=49; + public static final int F_URI_ALPHA=71; public static final int FG_EXACT_TERM=27; - public static final int NOT=69; + public static final int NOT=66; public static final int FIELD_EXCLUDE=25; public static final int EOF=-1; public static final int NAME_SPACE=37; - public static final int RPAREN=45; - public static final int EXCLAMATION=72; - public static final int FLOATING_POINT_LITERAL=70; - public static final int QUESTION_MARK=80; - public static final int ZERO_DIGIT=90; + public static final int RPAREN=44; + public static final int EXCLAMATION=69; + public static final int FLOATING_POINT_LITERAL=67; + public static final int QUESTION_MARK=77; + public static final int ZERO_DIGIT=88; public static final int FIELD_OPTIONAL=24; public static final int SYNONYM=11; - public static final int E=92; + public static final int E=90; public static final int CONJUNCTION=6; - public static final int FTSWORD=64; - public static final int URI=62; + public static final int FTSWORD=61; + public static final int URI=59; public static final int DISJUNCTION=5; public static final int FTS=4; public static final int FG_SYNONYM=29; - public static final int WS=94; - public static final int FTSPHRASE=53; + public static final int WS=92; + public static final int FTSPHRASE=50; public static final int FIELD_CONJUNCTION=19; public static final int INCLUSIVE=33; - public static final int OR=67; - public static final int GT=60; - public static final int F_HEX=77; - public static final int DECIMAL_INTEGER_LITERAL=49; - public static final int FTSPRE=65; + public static final int OR=64; + public static final int GT=57; + public static final int F_HEX=74; + public static final int DECIMAL_INTEGER_LITERAL=46; + public static final int FTSPRE=62; public static final int FG_PHRASE=28; public static final int FIELD_NEGATION=20; public static final int TERM=8; - public static final int DOLLAR=83; - public static final int START_RANGE_I=86; - public static final int AMP=71; + public static final int DOLLAR=81; + public static final int START_RANGE_I=84; + public static final int AMP=68; public static final int FG_PROXIMITY=30; public static final int EXACT_TERM=9; - public static final int START_RANGE_F=87; - public static final int DOTDOT=55; + public static final int START_RANGE_F=85; + public static final int DOTDOT=52; public static final int MANDATORY=15; public static final int EXCLUSIVE=34; - public static final int ID=63; - public static final int AND=68; - public static final int LPAREN=44; + public static final int ID=60; + public static final int AND=65; + public static final int LPAREN=43; public static final int BOOST=38; - public static final int AT=61; - public static final int TILDA=48; - public static final int DECIMAL_NUMERAL=84; - public static final int COMMA=47; - public static final int F_URI_DIGIT=75; - public static final int SIGNED_INTEGER=93; + public static final int AT=58; + public static final int TILDA=45; + public static final int DECIMAL_NUMERAL=82; + public static final int COMMA=80; + public static final int F_URI_DIGIT=72; + public static final int SIGNED_INTEGER=91; public static final int FIELD_DEFAULT=22; - public static final int CARAT=50; - public static final int PLUS=41; - public static final int DIGIT=88; - public static final int DOT=79; - public static final int F_ESC=73; + public static final int CARAT=47; + public static final int PLUS=40; + public static final int DIGIT=86; + public static final int DOT=76; + public static final int F_ESC=70; public static final int EXCLUDE=17; - public static final int PERCENT=46; - public static final int NON_ZERO_DIGIT=91; + public static final int NON_ZERO_DIGIT=89; public static final int QUALIFIER=35; - public static final int TO=56; + public static final int TO=53; public static final int FIELD_GROUP=21; public static final int DEFAULT=14; - public static final int INWORD=85; + public static final int INWORD=83; public static final int RANGE=12; - public static final int MINUS=43; - public static final int RSQUARE=59; + public static final int MINUS=42; + public static final int RSQUARE=56; public static final int FIELD_REF=32; public static final int PROXIMITY=13; public static final int PHRASE=10; public static final int OPTIONAL=16; - public static final int COLON=51; - public static final int LCURL=81; - public static final int F_URI_OTHER=76; + public static final int COLON=48; + public static final int LCURL=78; + public static final int F_URI_OTHER=73; public static final int NEGATION=7; - public static final int F_URI_ESC=78; - public static final int TEMPLATE=40; - public static final int RCURL=82; + public static final int F_URI_ESC=75; + public static final int RCURL=79; public static final int FIELD_MANDATORY=23; public static final int FG_RANGE=31; - public static final int BAR=42; - public static final int FTSWILD=66; + public static final int BAR=41; + public static final int FTSWILD=63; List tokens = new ArrayList(); public void emit(Token token) { @@ -133,11 +131,11 @@ public class FTSLexer extends Lexer { try { int _type = FTSPHRASE; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:510:4: ( '\"' ( F_ESC | ~ ( '\\\\' | '\"' ) )* '\"' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:510:7: '\"' ( F_ESC | ~ ( '\\\\' | '\"' ) )* '\"' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:493:4: ( '\"' ( F_ESC | ~ ( '\\\\' | '\"' ) )* '\"' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:493:7: '\"' ( F_ESC | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:510:11: ( F_ESC | ~ ( '\\\\' | '\"' ) )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:493:11: ( F_ESC | ~ ( '\\\\' | '\"' ) )* loop1: do { int alt1=3; @@ -153,14 +151,14 @@ public class FTSLexer extends Lexer { switch (alt1) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:510:12: F_ESC + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:493:12: F_ESC { mF_ESC(); if (state.failed) return ; } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:510:20: ~ ( '\\\\' | '\"' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:493:20: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -198,18 +196,18 @@ public class FTSLexer extends Lexer { try { int _type = URI; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:518:2: ( '{' ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )? ( ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* )? ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' )* ( '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* )? ( '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* )? '}' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:518:5: '{' ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )? ( ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* )? ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' )* ( '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* )? ( '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* )? '}' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:501:2: ( '{' ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )? ( ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* )? ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' )* ( '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* )? ( '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* )? '}' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:501:5: '{' ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )? ( ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* )? ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' )* ( '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* )? ( '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* )? '}' { match('{'); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:519:10: ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:502:10: ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )? int alt3=2; alt3 = dfa3.predict(input); switch (alt3) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:519:11: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:502:11: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:519:52: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:502:52: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ int cnt2=0; loop2: do { @@ -256,7 +254,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:520:10: ( ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:503:10: ( ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* )? int alt5=2; int LA5_0 = input.LA(1); @@ -273,17 +271,17 @@ public class FTSLexer extends Lexer { } switch (alt5) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:520:11: ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:503:11: ( ( '//' )=> '//' ) ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:520:11: ( ( '//' )=> '//' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:520:12: ( '//' )=> '//' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:503:11: ( ( '//' )=> '//' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:503:12: ( '//' )=> '//' { match("//"); if (state.failed) return ; } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:521:10: ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:504:10: ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) )* loop4: do { int alt4=2; @@ -302,7 +300,7 @@ public class FTSLexer extends Lexer { switch (alt4) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:521:12: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:504:12: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) { if ( input.LA(1)=='!'||input.LA(1)=='$'||(input.LA(1)>='&' && input.LA(1)<='.')||(input.LA(1)>='0' && input.LA(1)<=';')||input.LA(1)=='='||(input.LA(1)>='@' && input.LA(1)<='[')||input.LA(1)==']'||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='~' ) { input.consume(); @@ -329,7 +327,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:522:10: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:505:10: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' )* loop6: do { int alt6=2; @@ -363,7 +361,7 @@ public class FTSLexer extends Lexer { } } while (true); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:523:10: ( '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:506:10: ( '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* )? int alt8=2; int LA8_0 = input.LA(1); @@ -372,10 +370,10 @@ public class FTSLexer extends Lexer { } switch (alt8) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:523:11: '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:506:11: '?' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* { match('?'); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:523:15: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:506:15: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' )* loop7: do { int alt7=2; @@ -415,7 +413,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:524:10: ( '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:507:10: ( '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* )? int alt10=2; int LA10_0 = input.LA(1); @@ -424,10 +422,10 @@ public class FTSLexer extends Lexer { } switch (alt10) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:524:11: '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:507:11: '#' ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* { match('#'); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:524:15: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:507:15: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON | '/' | '?' | '#' )* loop9: do { int alt9=2; @@ -482,7 +480,7 @@ public class FTSLexer extends Lexer { // $ANTLR start "F_URI_ALPHA" public final void mF_URI_ALPHA() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:531:2: ( 'A' .. 'Z' | 'a' .. 'z' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:514:2: ( 'A' .. 'Z' | 'a' .. 'z' ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) { @@ -507,8 +505,8 @@ public class FTSLexer extends Lexer { // $ANTLR start "F_URI_DIGIT" public final void mF_URI_DIGIT() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:536:2: ( '0' .. '9' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:536:4: '0' .. '9' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:519:2: ( '0' .. '9' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:519:4: '0' .. '9' { matchRange('0','9'); if (state.failed) return ; @@ -523,8 +521,8 @@ public class FTSLexer extends Lexer { // $ANTLR start "F_URI_ESC" public final void mF_URI_ESC() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:541:2: ( '%' F_HEX F_HEX ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:541:10: '%' F_HEX F_HEX + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:524:2: ( '%' F_HEX F_HEX ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:524:10: '%' F_HEX F_HEX { match('%'); if (state.failed) return ; mF_HEX(); if (state.failed) return ; @@ -541,7 +539,7 @@ public class FTSLexer extends Lexer { // $ANTLR start "F_URI_OTHER" public final void mF_URI_OTHER() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:546:2: ( '-' | '.' | '_' | '~' | '[' | ']' | '@' | '!' | '$' | '&' | '\\'' | '(' | ')' | '*' | '+' | ',' | ';' | '=' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:529:2: ( '-' | '.' | '_' | '~' | '[' | ']' | '@' | '!' | '$' | '&' | '\\'' | '(' | ')' | '*' | '+' | ',' | ';' | '=' ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( input.LA(1)=='!'||input.LA(1)=='$'||(input.LA(1)>='&' && input.LA(1)<='.')||input.LA(1)==';'||input.LA(1)=='='||input.LA(1)=='@'||input.LA(1)=='['||input.LA(1)==']'||input.LA(1)=='_'||input.LA(1)=='~' ) { @@ -568,8 +566,8 @@ public class FTSLexer extends Lexer { try { int _type = OR; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:553:4: ( ( 'O' | 'o' ) ( 'R' | 'r' ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:553:6: ( 'O' | 'o' ) ( 'R' | 'r' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:536:4: ( ( 'O' | 'o' ) ( 'R' | 'r' ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:536:6: ( 'O' | 'o' ) ( 'R' | 'r' ) { if ( input.LA(1)=='O'||input.LA(1)=='o' ) { input.consume(); @@ -607,8 +605,8 @@ public class FTSLexer extends Lexer { try { int _type = AND; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:554:5: ( ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'D' | 'd' ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:554:7: ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'D' | 'd' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:537:5: ( ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'D' | 'd' ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:537:7: ( 'A' | 'a' ) ( 'N' | 'n' ) ( 'D' | 'd' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -656,8 +654,8 @@ public class FTSLexer extends Lexer { try { int _type = NOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:555:5: ( ( 'N' | 'n' ) ( 'O' | 'o' ) ( 'T' | 't' ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:555:7: ( 'N' | 'n' ) ( 'O' | 'o' ) ( 'T' | 't' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:538:5: ( ( 'N' | 'n' ) ( 'O' | 'o' ) ( 'T' | 't' ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:538:7: ( 'N' | 'n' ) ( 'O' | 'o' ) ( 'T' | 't' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -705,8 +703,8 @@ public class FTSLexer extends Lexer { try { int _type = TILDA; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:556:7: ( '~' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:556:9: '~' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:539:7: ( '~' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:539:9: '~' { match('~'); if (state.failed) return ; @@ -725,8 +723,8 @@ public class FTSLexer extends Lexer { try { int _type = LPAREN; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:557:8: ( '(' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:557:10: '(' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:540:8: ( '(' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:540:10: '(' { match('('); if (state.failed) return ; @@ -745,8 +743,8 @@ public class FTSLexer extends Lexer { try { int _type = RPAREN; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:558:8: ( ')' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:558:10: ')' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:541:8: ( ')' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:541:10: ')' { match(')'); if (state.failed) return ; @@ -765,8 +763,8 @@ public class FTSLexer extends Lexer { try { int _type = PLUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:559:6: ( '+' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:559:8: '+' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:542:6: ( '+' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:542:8: '+' { match('+'); if (state.failed) return ; @@ -785,8 +783,8 @@ public class FTSLexer extends Lexer { try { int _type = MINUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:560:7: ( '-' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:560:9: '-' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:543:7: ( '-' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:543:9: '-' { match('-'); if (state.failed) return ; @@ -805,8 +803,8 @@ public class FTSLexer extends Lexer { try { int _type = COLON; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:561:7: ( ':' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:561:9: ':' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:544:7: ( ':' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:544:9: ':' { match(':'); if (state.failed) return ; @@ -825,8 +823,8 @@ public class FTSLexer extends Lexer { try { int _type = STAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:562:6: ( '*' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:562:8: '*' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:545:6: ( '*' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:545:8: '*' { match('*'); if (state.failed) return ; @@ -845,8 +843,8 @@ public class FTSLexer extends Lexer { try { int _type = DOTDOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:563:9: ( '..' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:563:12: '..' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:546:9: ( '..' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:546:12: '..' { match(".."); if (state.failed) return ; @@ -866,8 +864,8 @@ public class FTSLexer extends Lexer { try { int _type = DOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:564:5: ( '.' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:564:7: '.' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:547:5: ( '.' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:547:7: '.' { match('.'); if (state.failed) return ; @@ -886,8 +884,8 @@ public class FTSLexer extends Lexer { try { int _type = AMP; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:565:5: ( '&' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:565:7: '&' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:548:5: ( '&' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:548:7: '&' { match('&'); if (state.failed) return ; @@ -906,8 +904,8 @@ public class FTSLexer extends Lexer { try { int _type = EXCLAMATION; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:566:13: ( '!' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:566:16: '!' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:549:13: ( '!' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:549:16: '!' { match('!'); if (state.failed) return ; @@ -926,8 +924,8 @@ public class FTSLexer extends Lexer { try { int _type = BAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:567:6: ( '|' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:567:9: '|' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:550:6: ( '|' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:550:9: '|' { match('|'); if (state.failed) return ; @@ -946,8 +944,8 @@ public class FTSLexer extends Lexer { try { int _type = EQUALS; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:568:9: ( '=' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:568:12: '=' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:551:9: ( '=' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:551:12: '=' { match('='); if (state.failed) return ; @@ -966,8 +964,8 @@ public class FTSLexer extends Lexer { try { int _type = QUESTION_MARK; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:569:15: ( '?' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:569:17: '?' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:552:15: ( '?' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:552:17: '?' { match('?'); if (state.failed) return ; @@ -986,8 +984,8 @@ public class FTSLexer extends Lexer { try { int _type = LCURL; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:8: ( '{' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:11: '{' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:553:8: ( '{' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:553:11: '{' { match('{'); if (state.failed) return ; @@ -1006,8 +1004,8 @@ public class FTSLexer extends Lexer { try { int _type = RCURL; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:571:8: ( '}' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:571:11: '}' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:554:8: ( '}' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:554:11: '}' { match('}'); if (state.failed) return ; @@ -1026,8 +1024,8 @@ public class FTSLexer extends Lexer { try { int _type = LSQUARE; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:572:9: ( '[' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:572:12: '[' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:555:9: ( '[' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:555:12: '[' { match('['); if (state.failed) return ; @@ -1046,8 +1044,8 @@ public class FTSLexer extends Lexer { try { int _type = RSQUARE; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:573:9: ( ']' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:573:12: ']' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:556:9: ( ']' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:556:12: ']' { match(']'); if (state.failed) return ; @@ -1066,8 +1064,8 @@ public class FTSLexer extends Lexer { try { int _type = TO; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:574:5: ( ( 'T' | 't' ) ( 'O' | 'o' ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:574:8: ( 'T' | 't' ) ( 'O' | 'o' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:557:5: ( ( 'T' | 't' ) ( 'O' | 'o' ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:557:8: ( 'T' | 't' ) ( 'O' | 'o' ) { if ( input.LA(1)=='T'||input.LA(1)=='t' ) { input.consume(); @@ -1105,8 +1103,8 @@ public class FTSLexer extends Lexer { try { int _type = COMMA; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:575:8: ( ',' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:575:11: ',' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:558:8: ( ',' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:558:11: ',' { match(','); if (state.failed) return ; @@ -1125,8 +1123,8 @@ public class FTSLexer extends Lexer { try { int _type = CARAT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:8: ( '^' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:11: '^' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:559:8: ( '^' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:559:11: '^' { match('^'); if (state.failed) return ; @@ -1145,8 +1143,8 @@ public class FTSLexer extends Lexer { try { int _type = DOLLAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:577:9: ( '$' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:577:13: '$' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:560:9: ( '$' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:560:13: '$' { match('$'); if (state.failed) return ; @@ -1165,8 +1163,8 @@ public class FTSLexer extends Lexer { try { int _type = GT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:5: ( '>' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:8: '>' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:561:5: ( '>' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:561:8: '>' { match('>'); if (state.failed) return ; @@ -1185,8 +1183,8 @@ public class FTSLexer extends Lexer { try { int _type = LT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:579:5: ( '<' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:579:8: '<' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:562:5: ( '<' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:562:8: '<' { match('<'); if (state.failed) return ; @@ -1205,8 +1203,8 @@ public class FTSLexer extends Lexer { try { int _type = AT; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:4: ( '@' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:7: '@' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:563:4: ( '@' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:563:7: '@' { match('@'); if (state.failed) return ; @@ -1220,33 +1218,13 @@ public class FTSLexer extends Lexer { } // $ANTLR end "AT" - // $ANTLR start "PERCENT" - public final void mPERCENT() throws RecognitionException { - try { - int _type = PERCENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:581:9: ( '%' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:581:17: '%' - { - match('%'); if (state.failed) return ; - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "PERCENT" - // $ANTLR start "ID" public final void mID() throws RecognitionException { try { int _type = ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:6: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' | '#' | F_ESC )* ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' | '#' | F_ESC )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:6: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' | '#' | F_ESC )* ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' | '#' | F_ESC )* { if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { input.consume(); @@ -1258,7 +1236,7 @@ public class FTSLexer extends Lexer { recover(mse); throw mse;} - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:34: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' | '#' | F_ESC )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:34: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '$' | '#' | F_ESC )* loop11: do { int alt11=8; @@ -1362,49 +1340,49 @@ public class FTSLexer extends Lexer { switch (alt11) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:35: 'a' .. 'z' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:35: 'a' .. 'z' { matchRange('a','z'); if (state.failed) return ; } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:44: 'A' .. 'Z' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:44: 'A' .. 'Z' { matchRange('A','Z'); if (state.failed) return ; } break; case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:53: '0' .. '9' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:53: '0' .. '9' { matchRange('0','9'); if (state.failed) return ; } break; case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:62: '_' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:62: '_' { match('_'); if (state.failed) return ; } break; case 5 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:66: '$' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:66: '$' { match('$'); if (state.failed) return ; } break; case 6 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:70: '#' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:70: '#' { match('#'); if (state.failed) return ; } break; case 7 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:74: F_ESC + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:570:74: F_ESC { mF_ESC(); if (state.failed) return ; @@ -1432,10 +1410,10 @@ public class FTSLexer extends Lexer { try { int _type = DECIMAL_INTEGER_LITERAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:591:9: ( ( PLUS | MINUS )? DECIMAL_NUMERAL ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:591:12: ( PLUS | MINUS )? DECIMAL_NUMERAL + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:573:9: ( ( PLUS | MINUS )? DECIMAL_NUMERAL ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:573:12: ( PLUS | MINUS )? DECIMAL_NUMERAL { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:591:12: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:573:12: ( PLUS | MINUS )? int alt12=2; int LA12_0 = input.LA(1); @@ -1479,10 +1457,10 @@ public class FTSLexer extends Lexer { try { int _type = FTSWORD; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:594:9: ( ( F_ESC | INWORD )+ ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:594:13: ( F_ESC | INWORD )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:9: ( ( F_ESC | INWORD )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:13: ( F_ESC | INWORD )+ { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:594:13: ( F_ESC | INWORD )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:13: ( F_ESC | INWORD )+ int cnt13=0; loop13: do { @@ -1499,14 +1477,14 @@ public class FTSLexer extends Lexer { switch (alt13) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:594:14: F_ESC + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:14: F_ESC { mF_ESC(); if (state.failed) return ; } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:594:22: INWORD + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:576:22: INWORD { mINWORD(); if (state.failed) return ; @@ -1539,10 +1517,10 @@ public class FTSLexer extends Lexer { try { int _type = FTSPRE; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:596:9: ( ( F_ESC | INWORD )+ STAR ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:596:13: ( F_ESC | INWORD )+ STAR + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:9: ( ( F_ESC | INWORD )+ STAR ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:13: ( F_ESC | INWORD )+ STAR { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:596:13: ( F_ESC | INWORD )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:13: ( F_ESC | INWORD )+ int cnt14=0; loop14: do { @@ -1559,14 +1537,14 @@ public class FTSLexer extends Lexer { switch (alt14) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:596:14: F_ESC + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:14: F_ESC { mF_ESC(); if (state.failed) return ; } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:596:22: INWORD + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:578:22: INWORD { mINWORD(); if (state.failed) return ; @@ -1600,10 +1578,10 @@ public class FTSLexer extends Lexer { try { int _type = FTSWILD; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:9: ( ( F_ESC | INWORD | STAR | QUESTION_MARK )+ ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:12: ( F_ESC | INWORD | STAR | QUESTION_MARK )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:9: ( ( F_ESC | INWORD | STAR | QUESTION_MARK )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:12: ( F_ESC | INWORD | STAR | QUESTION_MARK )+ { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:12: ( F_ESC | INWORD | STAR | QUESTION_MARK )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:12: ( F_ESC | INWORD | STAR | QUESTION_MARK )+ int cnt15=0; loop15: do { @@ -1626,28 +1604,28 @@ public class FTSLexer extends Lexer { switch (alt15) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:13: F_ESC + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:13: F_ESC { mF_ESC(); if (state.failed) return ; } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:21: INWORD + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:21: INWORD { mINWORD(); if (state.failed) return ; } break; case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:30: STAR + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:30: STAR { mSTAR(); if (state.failed) return ; } break; case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:598:37: QUESTION_MARK + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:580:37: QUESTION_MARK { mQUESTION_MARK(); if (state.failed) return ; @@ -1678,11 +1656,11 @@ public class FTSLexer extends Lexer { // $ANTLR start "F_ESC" public final void mF_ESC() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:601:9: ( '\\\\' ( 'u' F_HEX F_HEX F_HEX F_HEX | . ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:601:12: '\\\\' ( 'u' F_HEX F_HEX F_HEX F_HEX | . ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:583:9: ( '\\\\' ( 'u' F_HEX F_HEX F_HEX F_HEX | . ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:583:12: '\\\\' ( 'u' F_HEX F_HEX F_HEX F_HEX | . ) { match('\\'); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:602:7: ( 'u' F_HEX F_HEX F_HEX F_HEX | . ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:584:7: ( 'u' F_HEX F_HEX F_HEX F_HEX | . ) int alt16=2; int LA16_0 = input.LA(1); @@ -1707,7 +1685,7 @@ public class FTSLexer extends Lexer { } switch (alt16) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:604:7: 'u' F_HEX F_HEX F_HEX F_HEX + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:586:7: 'u' F_HEX F_HEX F_HEX F_HEX { match('u'); if (state.failed) return ; mF_HEX(); if (state.failed) return ; @@ -1718,7 +1696,7 @@ public class FTSLexer extends Lexer { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:606:8: . + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:588:8: . { matchAny(); if (state.failed) return ; @@ -1739,7 +1717,7 @@ public class FTSLexer extends Lexer { // $ANTLR start "F_HEX" public final void mF_HEX() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:612:2: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:594:2: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) { @@ -1764,7 +1742,7 @@ public class FTSLexer extends Lexer { // $ANTLR start "INWORD" public final void mINWORD() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:619:2: ( '\\u0041' .. '\\u005A' | '\\u0061' .. '\\u007A' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u00FF' | '\\u0100' .. '\\u1FFF' | '\\u3040' .. '\\u318F' | '\\u3300' .. '\\u337F' | '\\u3400' .. '\\u3D2D' | '\\u4E00' .. '\\u9FFF' | '\\uF900' .. '\\uFAFF' | '\\uAC00' .. '\\uD7AF' | '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE7' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u1040' .. '\\u1049' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:601:2: ( '\\u0041' .. '\\u005A' | '\\u0061' .. '\\u007A' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u00FF' | '\\u0100' .. '\\u1FFF' | '\\u3040' .. '\\u318F' | '\\u3300' .. '\\u337F' | '\\u3400' .. '\\u3D2D' | '\\u4E00' .. '\\u9FFF' | '\\uF900' .. '\\uFAFF' | '\\uAC00' .. '\\uD7AF' | '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE7' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u1040' .. '\\u1049' ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uAC00' && input.LA(1)<='\uD7AF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) { @@ -1794,19 +1772,19 @@ public class FTSLexer extends Lexer { Token d=null; Token r=null; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:663:4: (d= START_RANGE_I r= DOTDOT | d= START_RANGE_F r= DOTDOT | ( PLUS | MINUS )? ( DIGIT )+ DOT ( DIGIT )* ( EXPONENT )? | ( PLUS | MINUS )? DOT ( DIGIT )+ ( EXPONENT )? | ( PLUS | MINUS )? ( DIGIT )+ EXPONENT ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:645:4: (d= START_RANGE_I r= DOTDOT | d= START_RANGE_F r= DOTDOT | ( PLUS | MINUS )? ( DIGIT )+ DOT ( DIGIT )* ( EXPONENT )? | ( PLUS | MINUS )? DOT ( DIGIT )+ ( EXPONENT )? | ( PLUS | MINUS )? ( DIGIT )+ EXPONENT ) int alt26=5; alt26 = dfa26.predict(input); switch (alt26) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:663:7: d= START_RANGE_I r= DOTDOT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:645:7: d= START_RANGE_I r= DOTDOT { - int dStart1326 = getCharIndex(); + int dStart1312 = getCharIndex(); mSTART_RANGE_I(); if (state.failed) return ; - d = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, dStart1326, getCharIndex()-1); - int rStart1330 = getCharIndex(); + d = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, dStart1312, getCharIndex()-1); + int rStart1316 = getCharIndex(); mDOTDOT(); if (state.failed) return ; - r = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, rStart1330, getCharIndex()-1); + r = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, rStart1316, getCharIndex()-1); if ( state.backtracking==0 ) { d.setType(DECIMAL_INTEGER_LITERAL); @@ -1819,14 +1797,14 @@ public class FTSLexer extends Lexer { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:671:7: d= START_RANGE_F r= DOTDOT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:653:7: d= START_RANGE_F r= DOTDOT { - int dStart1355 = getCharIndex(); + int dStart1341 = getCharIndex(); mSTART_RANGE_F(); if (state.failed) return ; - d = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, dStart1355, getCharIndex()-1); - int rStart1359 = getCharIndex(); + d = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, dStart1341, getCharIndex()-1); + int rStart1345 = getCharIndex(); mDOTDOT(); if (state.failed) return ; - r = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, rStart1359, getCharIndex()-1); + r = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, rStart1345, getCharIndex()-1); if ( state.backtracking==0 ) { d.setType(FLOATING_POINT_LITERAL); @@ -1839,9 +1817,9 @@ public class FTSLexer extends Lexer { } break; case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:7: ( PLUS | MINUS )? ( DIGIT )+ DOT ( DIGIT )* ( EXPONENT )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:7: ( PLUS | MINUS )? ( DIGIT )+ DOT ( DIGIT )* ( EXPONENT )? { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:7: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:7: ( PLUS | MINUS )? int alt17=2; int LA17_0 = input.LA(1); @@ -1868,7 +1846,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:23: ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:23: ( DIGIT )+ int cnt18=0; loop18: do { @@ -1882,7 +1860,7 @@ public class FTSLexer extends Lexer { switch (alt18) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:23: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:23: DIGIT { mDIGIT(); if (state.failed) return ; @@ -1900,7 +1878,7 @@ public class FTSLexer extends Lexer { } while (true); mDOT(); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:34: ( DIGIT )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:34: ( DIGIT )* loop19: do { int alt19=2; @@ -1913,7 +1891,7 @@ public class FTSLexer extends Lexer { switch (alt19) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:34: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:34: DIGIT { mDIGIT(); if (state.failed) return ; @@ -1925,7 +1903,7 @@ public class FTSLexer extends Lexer { } } while (true); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:41: ( EXPONENT )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:41: ( EXPONENT )? int alt20=2; int LA20_0 = input.LA(1); @@ -1934,7 +1912,7 @@ public class FTSLexer extends Lexer { } switch (alt20) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:679:41: EXPONENT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:661:41: EXPONENT { mEXPONENT(); if (state.failed) return ; @@ -1947,9 +1925,9 @@ public class FTSLexer extends Lexer { } break; case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:680:7: ( PLUS | MINUS )? DOT ( DIGIT )+ ( EXPONENT )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:662:7: ( PLUS | MINUS )? DOT ( DIGIT )+ ( EXPONENT )? { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:680:7: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:662:7: ( PLUS | MINUS )? int alt21=2; int LA21_0 = input.LA(1); @@ -1977,7 +1955,7 @@ public class FTSLexer extends Lexer { } mDOT(); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:680:27: ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:662:27: ( DIGIT )+ int cnt22=0; loop22: do { @@ -1991,7 +1969,7 @@ public class FTSLexer extends Lexer { switch (alt22) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:680:27: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:662:27: DIGIT { mDIGIT(); if (state.failed) return ; @@ -2008,7 +1986,7 @@ public class FTSLexer extends Lexer { cnt22++; } while (true); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:680:34: ( EXPONENT )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:662:34: ( EXPONENT )? int alt23=2; int LA23_0 = input.LA(1); @@ -2017,7 +1995,7 @@ public class FTSLexer extends Lexer { } switch (alt23) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:680:34: EXPONENT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:662:34: EXPONENT { mEXPONENT(); if (state.failed) return ; @@ -2030,9 +2008,9 @@ public class FTSLexer extends Lexer { } break; case 5 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:681:7: ( PLUS | MINUS )? ( DIGIT )+ EXPONENT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:663:7: ( PLUS | MINUS )? ( DIGIT )+ EXPONENT { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:681:7: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:663:7: ( PLUS | MINUS )? int alt24=2; int LA24_0 = input.LA(1); @@ -2059,7 +2037,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:681:23: ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:663:23: ( DIGIT )+ int cnt25=0; loop25: do { @@ -2073,7 +2051,7 @@ public class FTSLexer extends Lexer { switch (alt25) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:681:23: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:663:23: DIGIT { mDIGIT(); if (state.failed) return ; @@ -2107,10 +2085,10 @@ public class FTSLexer extends Lexer { // $ANTLR start "START_RANGE_I" public final void mSTART_RANGE_I() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:686:2: ( ( PLUS | MINUS )? ( DIGIT )+ ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:686:5: ( PLUS | MINUS )? ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:668:2: ( ( PLUS | MINUS )? ( DIGIT )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:668:5: ( PLUS | MINUS )? ( DIGIT )+ { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:686:5: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:668:5: ( PLUS | MINUS )? int alt27=2; int LA27_0 = input.LA(1); @@ -2137,7 +2115,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:686:21: ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:668:21: ( DIGIT )+ int cnt28=0; loop28: do { @@ -2151,7 +2129,7 @@ public class FTSLexer extends Lexer { switch (alt28) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:686:21: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:668:21: DIGIT { mDIGIT(); if (state.failed) return ; @@ -2180,10 +2158,10 @@ public class FTSLexer extends Lexer { // $ANTLR start "START_RANGE_F" public final void mSTART_RANGE_F() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:691:2: ( ( PLUS | MINUS )? ( DIGIT )+ DOT ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:691:5: ( PLUS | MINUS )? ( DIGIT )+ DOT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:673:2: ( ( PLUS | MINUS )? ( DIGIT )+ DOT ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:673:5: ( PLUS | MINUS )? ( DIGIT )+ DOT { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:691:5: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:673:5: ( PLUS | MINUS )? int alt29=2; int LA29_0 = input.LA(1); @@ -2210,7 +2188,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:691:21: ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:673:21: ( DIGIT )+ int cnt30=0; loop30: do { @@ -2224,7 +2202,7 @@ public class FTSLexer extends Lexer { switch (alt30) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:691:21: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:673:21: DIGIT { mDIGIT(); if (state.failed) return ; @@ -2254,7 +2232,7 @@ public class FTSLexer extends Lexer { // $ANTLR start "DECIMAL_NUMERAL" public final void mDECIMAL_NUMERAL() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:700:4: ( ZERO_DIGIT | NON_ZERO_DIGIT ( DIGIT )* ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:682:4: ( ZERO_DIGIT | NON_ZERO_DIGIT ( DIGIT )* ) int alt32=2; int LA32_0 = input.LA(1); @@ -2273,17 +2251,17 @@ public class FTSLexer extends Lexer { } switch (alt32) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:700:7: ZERO_DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:682:7: ZERO_DIGIT { mZERO_DIGIT(); if (state.failed) return ; } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:701:7: NON_ZERO_DIGIT ( DIGIT )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:683:7: NON_ZERO_DIGIT ( DIGIT )* { mNON_ZERO_DIGIT(); if (state.failed) return ; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:701:22: ( DIGIT )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:683:22: ( DIGIT )* loop31: do { int alt31=2; @@ -2296,7 +2274,7 @@ public class FTSLexer extends Lexer { switch (alt31) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:701:22: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:683:22: DIGIT { mDIGIT(); if (state.failed) return ; @@ -2322,7 +2300,7 @@ public class FTSLexer extends Lexer { // $ANTLR start "DIGIT" public final void mDIGIT() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:706:2: ( ZERO_DIGIT | NON_ZERO_DIGIT ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:688:2: ( ZERO_DIGIT | NON_ZERO_DIGIT ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( (input.LA(1)>='0' && input.LA(1)<='9') ) { @@ -2347,8 +2325,8 @@ public class FTSLexer extends Lexer { // $ANTLR start "ZERO_DIGIT" public final void mZERO_DIGIT() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:712:4: ( '0' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:712:7: '0' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:694:4: ( '0' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:694:7: '0' { match('0'); if (state.failed) return ; @@ -2363,8 +2341,8 @@ public class FTSLexer extends Lexer { // $ANTLR start "NON_ZERO_DIGIT" public final void mNON_ZERO_DIGIT() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:716:4: ( '1' .. '9' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:716:7: '1' .. '9' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:698:4: ( '1' .. '9' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:698:7: '1' .. '9' { matchRange('1','9'); if (state.failed) return ; @@ -2379,8 +2357,8 @@ public class FTSLexer extends Lexer { // $ANTLR start "E" public final void mE() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:720:4: ( ( 'e' | 'E' ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:720:7: ( 'e' | 'E' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:702:4: ( ( 'e' | 'E' ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:702:7: ( 'e' | 'E' ) { if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); @@ -2404,8 +2382,8 @@ public class FTSLexer extends Lexer { // $ANTLR start "EXPONENT" public final void mEXPONENT() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:724:4: ( E SIGNED_INTEGER ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:724:7: E SIGNED_INTEGER + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:706:4: ( E SIGNED_INTEGER ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:706:7: E SIGNED_INTEGER { mE(); if (state.failed) return ; mSIGNED_INTEGER(); if (state.failed) return ; @@ -2421,10 +2399,10 @@ public class FTSLexer extends Lexer { // $ANTLR start "SIGNED_INTEGER" public final void mSIGNED_INTEGER() throws RecognitionException { try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:729:4: ( ( PLUS | MINUS )? ( DIGIT )+ ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:729:7: ( PLUS | MINUS )? ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:711:4: ( ( PLUS | MINUS )? ( DIGIT )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:711:7: ( PLUS | MINUS )? ( DIGIT )+ { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:729:7: ( PLUS | MINUS )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:711:7: ( PLUS | MINUS )? int alt33=2; int LA33_0 = input.LA(1); @@ -2451,7 +2429,7 @@ public class FTSLexer extends Lexer { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:729:23: ( DIGIT )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:711:23: ( DIGIT )+ int cnt34=0; loop34: do { @@ -2465,7 +2443,7 @@ public class FTSLexer extends Lexer { switch (alt34) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:729:23: DIGIT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:711:23: DIGIT { mDIGIT(); if (state.failed) return ; @@ -2496,10 +2474,10 @@ public class FTSLexer extends Lexer { try { int _type = WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:736:4: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:736:6: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:718:4: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:718:6: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:736:6: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:718:6: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt35=0; loop35: do { @@ -2554,8 +2532,8 @@ public class FTSLexer extends Lexer { // $ANTLR end "WS" public void mTokens() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:8: ( FTSPHRASE | URI | OR | AND | NOT | TILDA | LPAREN | RPAREN | PLUS | MINUS | COLON | STAR | DOTDOT | DOT | AMP | EXCLAMATION | BAR | EQUALS | QUESTION_MARK | LCURL | RCURL | LSQUARE | RSQUARE | TO | COMMA | CARAT | DOLLAR | GT | LT | AT | PERCENT | ID | DECIMAL_INTEGER_LITERAL | FTSWORD | FTSPRE | FTSWILD | FLOATING_POINT_LITERAL | WS ) - int alt36=38; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:8: ( FTSPHRASE | URI | OR | AND | NOT | TILDA | LPAREN | RPAREN | PLUS | MINUS | COLON | STAR | DOTDOT | DOT | AMP | EXCLAMATION | BAR | EQUALS | QUESTION_MARK | LCURL | RCURL | LSQUARE | RSQUARE | TO | COMMA | CARAT | DOLLAR | GT | LT | AT | ID | DECIMAL_INTEGER_LITERAL | FTSWORD | FTSPRE | FTSWILD | FLOATING_POINT_LITERAL | WS ) + int alt36=37; alt36 = dfa36.predict(input); switch (alt36) { case 1 : @@ -2769,56 +2747,49 @@ public class FTSLexer extends Lexer { } break; case 31 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:188: PERCENT - { - mPERCENT(); if (state.failed) return ; - - } - break; - case 32 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:196: ID + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:188: ID { mID(); if (state.failed) return ; } break; - case 33 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:199: DECIMAL_INTEGER_LITERAL + case 32 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:191: DECIMAL_INTEGER_LITERAL { mDECIMAL_INTEGER_LITERAL(); if (state.failed) return ; } break; - case 34 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:223: FTSWORD + case 33 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:215: FTSWORD { mFTSWORD(); if (state.failed) return ; } break; - case 35 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:231: FTSPRE + case 34 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:223: FTSPRE { mFTSPRE(); if (state.failed) return ; } break; - case 36 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:238: FTSWILD + case 35 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:230: FTSWILD { mFTSWILD(); if (state.failed) return ; } break; - case 37 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:246: FLOATING_POINT_LITERAL + case 36 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:238: FLOATING_POINT_LITERAL { mFLOATING_POINT_LITERAL(); if (state.failed) return ; } break; - case 38 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:269: WS + case 37 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:1:261: WS { mWS(); if (state.failed) return ; @@ -2831,7 +2802,7 @@ public class FTSLexer extends Lexer { // $ANTLR start synpred1_FTS public final void synpred1_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:519:11: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:502:11: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( input.LA(1)=='!'||input.LA(1)=='$'||(input.LA(1)>='&' && input.LA(1)<='.')||(input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)==';'||input.LA(1)=='='||(input.LA(1)>='@' && input.LA(1)<='[')||input.LA(1)==']'||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='~' ) { @@ -2851,8 +2822,8 @@ public class FTSLexer extends Lexer { // $ANTLR start synpred2_FTS public final void synpred2_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:520:12: ( '//' ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:520:13: '//' + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:503:12: ( '//' ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:503:13: '//' { match("//"); if (state.failed) return ; @@ -2863,7 +2834,7 @@ public class FTSLexer extends Lexer { // $ANTLR start synpred3_FTS public final void synpred3_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:521:12: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:504:12: ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER | COLON ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { if ( input.LA(1)=='!'||input.LA(1)=='$'||(input.LA(1)>='&' && input.LA(1)<='.')||(input.LA(1)>='0' && input.LA(1)<=';')||input.LA(1)=='='||(input.LA(1)>='@' && input.LA(1)<='[')||input.LA(1)==']'||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='~' ) { @@ -2982,7 +2953,7 @@ public class FTSLexer extends Lexer { this.transition = DFA3_transition; } public String getDescription() { - return "519:10: ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )?"; + return "502:10: ( ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )=> ( F_URI_ALPHA | F_URI_DIGIT | F_URI_OTHER )+ COLON )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; @@ -3066,343 +3037,342 @@ public class FTSLexer extends Lexer { this.transition = DFA26_transition; } public String getDescription() { - return "661:1: FLOATING_POINT_LITERAL : (d= START_RANGE_I r= DOTDOT | d= START_RANGE_F r= DOTDOT | ( PLUS | MINUS )? ( DIGIT )+ DOT ( DIGIT )* ( EXPONENT )? | ( PLUS | MINUS )? DOT ( DIGIT )+ ( EXPONENT )? | ( PLUS | MINUS )? ( DIGIT )+ EXPONENT );"; + return "643:1: FLOATING_POINT_LITERAL : (d= START_RANGE_I r= DOTDOT | d= START_RANGE_F r= DOTDOT | ( PLUS | MINUS )? ( DIGIT )+ DOT ( DIGIT )* ( EXPONENT )? | ( PLUS | MINUS )? DOT ( DIGIT )+ ( EXPONENT )? | ( PLUS | MINUS )? ( DIGIT )+ EXPONENT );"; } } static final String DFA36_eotS = - "\2\uffff\1\45\3\42\3\uffff\1\64\1\67\1\uffff\1\70\1\72\4\uffff"+ - "\1\73\3\uffff\1\42\7\uffff\1\42\2\76\2\uffff\1\104\3\uffff\2\105"+ - "\3\42\1\uffff\1\110\1\uffff\4\42\1\76\1\uffff\1\76\6\uffff\2\116"+ - "\1\uffff\2\104\1\76\2\104\2\uffff\2\42\1\uffff\2\124\2\125\1\76"+ - "\1\uffff\2\104\3\42\2\uffff\1\104\3\42\1\104\3\42\1\104\3\42"; + "\2\uffff\1\45\3\41\3\uffff\1\65\1\66\1\uffff\1\67\1\71\4\uffff"+ + "\1\72\3\uffff\1\41\6\uffff\1\41\2\75\2\uffff\1\103\3\uffff\1\104"+ + "\1\uffff\1\41\1\107\1\uffff\1\104\6\41\1\75\1\uffff\1\75\6\uffff"+ + "\2\115\1\uffff\2\103\1\75\2\103\2\uffff\2\41\1\uffff\2\123\2\124"+ + "\1\75\1\uffff\2\103\3\41\2\uffff\1\103\3\41\1\103\3\41\1\103\3\41"; static final String DFA36_eofS = - "\142\uffff"; + "\141\uffff"; static final String DFA36_minS = "\1\11\1\uffff\1\41\3\52\3\uffff\2\56\1\uffff\1\52\1\56\4\uffff"+ - "\1\52\3\uffff\1\52\7\uffff\3\52\1\0\1\uffff\1\52\3\uffff\2\43\3"+ - "\52\1\0\1\52\1\uffff\4\52\1\56\1\uffff\1\56\6\uffff\2\43\1\uffff"+ + "\1\52\3\uffff\1\52\6\uffff\3\52\1\0\1\uffff\1\52\3\uffff\1\43\1"+ + "\0\2\52\1\uffff\1\43\6\52\1\56\1\uffff\1\56\6\uffff\2\43\1\uffff"+ "\5\52\2\uffff\2\52\1\uffff\4\43\1\56\1\uffff\5\52\2\uffff\14\52"; static final String DFA36_maxS = "\1\ufaff\1\uffff\1\176\3\ufaff\3\uffff\2\71\1\uffff\1\ufaff\1\71"+ - "\4\uffff\1\ufaff\3\uffff\1\ufaff\7\uffff\3\ufaff\1\uffff\1\uffff"+ - "\1\ufaff\3\uffff\5\ufaff\1\uffff\1\ufaff\1\uffff\4\ufaff\1\145\1"+ + "\4\uffff\1\ufaff\3\uffff\1\ufaff\6\uffff\3\ufaff\1\uffff\1\uffff"+ + "\1\ufaff\3\uffff\1\ufaff\1\uffff\2\ufaff\1\uffff\7\ufaff\1\145\1"+ "\uffff\1\145\6\uffff\2\ufaff\1\uffff\5\ufaff\2\uffff\2\ufaff\1\uffff"+ "\4\ufaff\1\145\1\uffff\5\ufaff\2\uffff\14\ufaff"; static final String DFA36_acceptS = "\1\uffff\1\1\4\uffff\1\6\1\7\1\10\2\uffff\1\13\2\uffff\1\17\1\20"+ "\1\21\1\22\1\uffff\1\25\1\26\1\27\1\uffff\1\31\1\32\1\33\1\34\1"+ - "\35\1\36\1\37\4\uffff\1\40\1\uffff\1\46\1\24\1\2\7\uffff\1\44\5"+ - "\uffff\1\11\1\uffff\1\45\1\12\1\14\1\15\1\16\1\23\2\uffff\1\41\5"+ - "\uffff\1\42\1\3\2\uffff\1\43\5\uffff\1\30\5\uffff\1\4\1\5\14\uffff"; + "\35\1\36\4\uffff\1\37\1\uffff\1\45\1\2\1\24\4\uffff\1\43\10\uffff"+ + "\1\44\1\uffff\1\11\1\12\1\14\1\15\1\16\1\23\2\uffff\1\40\5\uffff"+ + "\1\41\1\3\2\uffff\1\42\5\uffff\1\30\5\uffff\1\4\1\5\14\uffff"; static final String DFA36_specialS = - "\41\uffff\1\1\12\uffff\1\0\65\uffff}>"; + "\40\uffff\1\1\6\uffff\1\0\71\uffff}>"; static final String[] DFA36_transitionS = { - "\2\44\2\uffff\1\44\22\uffff\1\44\1\17\1\1\1\uffff\1\31\1\35"+ - "\1\16\1\uffff\1\7\1\10\1\14\1\11\1\27\1\12\1\15\1\uffff\1\37"+ - "\11\40\1\13\1\uffff\1\33\1\21\1\32\1\22\1\34\1\4\14\36\1\5\1"+ - "\3\4\36\1\26\6\36\1\24\1\41\1\25\1\30\1\42\1\uffff\1\4\14\36"+ - "\1\5\1\3\4\36\1\26\6\36\1\2\1\20\1\23\1\6\101\uffff\27\43\1"+ - "\uffff\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff"+ - "\u0080\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff"+ - "\u2bb0\43\u2150\uffff\u0200\43", + "\2\43\2\uffff\1\43\22\uffff\1\43\1\17\1\1\1\uffff\1\31\1\uffff"+ + "\1\16\1\uffff\1\7\1\10\1\14\1\11\1\27\1\12\1\15\1\uffff\1\36"+ + "\11\37\1\13\1\uffff\1\33\1\21\1\32\1\22\1\34\1\4\14\35\1\5\1"+ + "\3\4\35\1\26\6\35\1\24\1\40\1\25\1\30\1\41\1\uffff\1\4\14\35"+ + "\1\5\1\3\4\35\1\26\6\35\1\2\1\20\1\23\1\6\101\uffff\27\42\1"+ + "\uffff\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff"+ + "\u0080\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff"+ + "\u2bb0\42\u2150\uffff\u0200\42", "", - "\1\46\1\uffff\2\46\1\uffff\26\46\1\uffff\1\46\1\uffff\35\46"+ - "\1\uffff\1\46\1\uffff\1\46\1\uffff\32\46\2\uffff\2\46", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\21\52\1\50\10\52"+ - "\1\uffff\1\54\4\uffff\21\51\1\47\10\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\15\52\1\60\14\52"+ - "\1\uffff\1\54\4\uffff\15\51\1\57\14\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\16\52\1\62\13\52"+ - "\1\uffff\1\54\4\uffff\16\51\1\61\13\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", + "\1\44\1\uffff\2\44\1\uffff\26\44\1\uffff\1\44\1\uffff\35\44"+ + "\1\uffff\1\44\1\uffff\1\44\1\uffff\32\44\2\uffff\2\44", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\21\54\1\53\10\54"+ + "\1\uffff\1\47\4\uffff\21\50\1\46\10\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\15\54\1\57\14\54"+ + "\1\uffff\1\47\4\uffff\15\50\1\56\14\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\16\54\1\61\13\54"+ + "\1\uffff\1\47\4\uffff\16\50\1\60\13\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", "", "", "", - "\1\66\1\uffff\1\63\11\65", - "\1\66\1\uffff\1\63\11\65", + "\1\63\1\uffff\1\62\11\64", + "\1\63\1\uffff\1\62\11\64", "", - "\1\56\5\uffff\12\56\5\uffff\1\56\1\uffff\32\56\1\uffff\1\56"+ - "\4\uffff\32\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+ - "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+ - "\56\u10d2\uffff\u5200\56\u0c00\uffff\u2bb0\56\u2150\uffff\u0200"+ - "\56", - "\1\71\1\uffff\12\66", + "\1\52\5\uffff\12\52\5\uffff\1\52\1\uffff\32\52\1\uffff\1\52"+ + "\4\uffff\32\52\105\uffff\27\52\1\uffff\37\52\1\uffff\u1f08\52"+ + "\u1040\uffff\u0150\52\u0170\uffff\u0080\52\u0080\uffff\u092e"+ + "\52\u10d2\uffff\u5200\52\u0c00\uffff\u2bb0\52\u2150\uffff\u0200"+ + "\52", + "\1\70\1\uffff\12\63", "", "", "", "", - "\1\56\5\uffff\12\56\5\uffff\1\56\1\uffff\32\56\1\uffff\1\56"+ - "\4\uffff\32\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+ - "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+ - "\56\u10d2\uffff\u5200\56\u0c00\uffff\u2bb0\56\u2150\uffff\u0200"+ - "\56", + "\1\52\5\uffff\12\52\5\uffff\1\52\1\uffff\32\52\1\uffff\1\52"+ + "\4\uffff\32\52\105\uffff\27\52\1\uffff\37\52\1\uffff\u1f08\52"+ + "\u1040\uffff\u0150\52\u0170\uffff\u0080\52\u0080\uffff\u092e"+ + "\52\u10d2\uffff\u5200\52\u0c00\uffff\u2bb0\52\u2150\uffff\u0200"+ + "\52", "", "", "", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\16\52\1\75\13\52"+ - "\1\uffff\1\54\4\uffff\16\51\1\74\13\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\16\54\1\74\13\54"+ + "\1\uffff\1\47\4\uffff\16\50\1\73\13\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", "", "", "", "", "", "", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\3\uffff\1\63\1\uffff\12\76\5\uffff\1\52\1\uffff\4\42"+ + "\1\77\25\42\1\uffff\1\40\4\uffff\4\42\1\77\25\42\105\uffff\27"+ + "\42\1\uffff\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170"+ + "\uffff\u0080\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00"+ + "\uffff\u2bb0\42\u2150\uffff\u0200\42", + "\1\51\3\uffff\1\63\1\uffff\12\100\5\uffff\1\52\1\uffff\4\42"+ + "\1\77\25\42\1\uffff\1\40\4\uffff\4\42\1\77\25\42\105\uffff\27"+ + "\42\1\uffff\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170"+ + "\uffff\u0080\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00"+ + "\uffff\u2bb0\42\u2150\uffff\u0200\42", + "\165\102\1\101\uff8a\102", "", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\3\uffff\1\66\1\uffff\12\100\5\uffff\1\56\1\uffff\4\43"+ - "\1\77\25\43\1\uffff\1\41\4\uffff\4\43\1\77\25\43\105\uffff\27"+ - "\43\1\uffff\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170"+ - "\uffff\u0080\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00"+ - "\uffff\u2bb0\43\u2150\uffff\u0200\43", - "\1\55\3\uffff\1\66\1\uffff\12\101\5\uffff\1\56\1\uffff\4\43"+ - "\1\77\25\43\1\uffff\1\41\4\uffff\4\43\1\77\25\43\105\uffff\27"+ - "\43\1\uffff\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170"+ - "\uffff\u0080\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00"+ - "\uffff\u2bb0\43\u2150\uffff\u0200\43", - "\165\103\1\102\uff8a\103", - "", - "\1\55\5\uffff\12\43\5\uffff\1\56\1\uffff\32\43\1\uffff\1\41"+ - "\4\uffff\32\43\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", + "\1\51\5\uffff\12\42\5\uffff\1\52\1\uffff\32\42\1\uffff\1\40"+ + "\4\uffff\32\42\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", "", "", "", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\165\107\1\106\uff8a\107", - "\1\56\5\uffff\12\56\5\uffff\1\56\1\uffff\32\56\1\uffff\1\56"+ - "\4\uffff\32\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+ - "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+ - "\56\u10d2\uffff\u5200\56\u0c00\uffff\u2bb0\56\u2150\uffff\u0200"+ - "\56", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\165\106\1\105\uff8a\106", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\52\5\uffff\12\52\5\uffff\1\52\1\uffff\32\52\1\uffff\1\52"+ + "\4\uffff\32\52\105\uffff\27\52\1\uffff\37\52\1\uffff\u1f08\52"+ + "\u1040\uffff\u0150\52\u0170\uffff\u0080\52\u0080\uffff\u092e"+ + "\52\u10d2\uffff\u5200\52\u0c00\uffff\u2bb0\52\u2150\uffff\u0200"+ + "\52", "", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\3\52\1\112\26\52"+ - "\1\uffff\1\54\4\uffff\3\51\1\111\26\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\3\52\1\112\26\52"+ - "\1\uffff\1\54\4\uffff\3\51\1\111\26\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\23\52\1\114\6\52"+ - "\1\uffff\1\54\4\uffff\23\51\1\113\6\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\23\52\1\114\6\52"+ - "\1\uffff\1\54\4\uffff\23\51\1\113\6\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\66\1\uffff\12\66\13\uffff\1\66\37\uffff\1\66", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\3\54\1\111\26\54"+ + "\1\uffff\1\47\4\uffff\3\50\1\110\26\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\3\54\1\111\26\54"+ + "\1\uffff\1\47\4\uffff\3\50\1\110\26\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\23\54\1\113\6\54"+ + "\1\uffff\1\47\4\uffff\23\50\1\112\6\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\23\54\1\113\6\54"+ + "\1\uffff\1\47\4\uffff\23\50\1\112\6\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\63\1\uffff\12\63\13\uffff\1\63\37\uffff\1\63", "", - "\1\66\1\uffff\12\115\13\uffff\1\66\37\uffff\1\66", + "\1\63\1\uffff\12\114\13\uffff\1\63\37\uffff\1\63", "", "", "", "", "", "", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", "", - "\1\55\1\66\1\uffff\1\66\2\uffff\12\117\5\uffff\1\56\1\uffff"+ - "\32\43\1\uffff\1\41\4\uffff\32\43\105\uffff\27\43\1\uffff\37"+ - "\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\55\3\uffff\1\66\1\uffff\12\100\5\uffff\1\56\1\uffff\4\43"+ - "\1\77\25\43\1\uffff\1\41\4\uffff\4\43\1\77\25\43\105\uffff\27"+ - "\43\1\uffff\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170"+ - "\uffff\u0080\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00"+ - "\uffff\u2bb0\43\u2150\uffff\u0200\43", - "\1\55\3\uffff\1\66\1\uffff\12\101\5\uffff\1\56\1\uffff\4\43"+ - "\1\77\25\43\1\uffff\1\41\4\uffff\4\43\1\77\25\43\105\uffff\27"+ - "\43\1\uffff\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170"+ - "\uffff\u0080\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00"+ - "\uffff\u2bb0\43\u2150\uffff\u0200\43", - "\1\55\5\uffff\12\120\5\uffff\1\56\1\uffff\6\120\24\43\1\uffff"+ - "\1\41\4\uffff\6\120\24\43\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\43\5\uffff\1\56\1\uffff\32\43\1\uffff\1\41"+ - "\4\uffff\32\43\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", + "\1\51\3\uffff\1\63\1\uffff\12\76\5\uffff\1\52\1\uffff\4\42"+ + "\1\77\25\42\1\uffff\1\40\4\uffff\4\42\1\77\25\42\105\uffff\27"+ + "\42\1\uffff\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170"+ + "\uffff\u0080\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00"+ + "\uffff\u2bb0\42\u2150\uffff\u0200\42", + "\1\51\1\63\1\uffff\1\63\2\uffff\12\116\5\uffff\1\52\1\uffff"+ + "\32\42\1\uffff\1\40\4\uffff\32\42\105\uffff\27\42\1\uffff\37"+ + "\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\51\3\uffff\1\63\1\uffff\12\100\5\uffff\1\52\1\uffff\4\42"+ + "\1\77\25\42\1\uffff\1\40\4\uffff\4\42\1\77\25\42\105\uffff\27"+ + "\42\1\uffff\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170"+ + "\uffff\u0080\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00"+ + "\uffff\u2bb0\42\u2150\uffff\u0200\42", + "\1\51\5\uffff\12\117\5\uffff\1\52\1\uffff\6\117\24\42\1\uffff"+ + "\1\40\4\uffff\6\117\24\42\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\42\5\uffff\1\52\1\uffff\32\42\1\uffff\1\40"+ + "\4\uffff\32\42\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", "", "", - "\1\55\5\uffff\12\123\5\uffff\1\56\1\uffff\6\122\24\52\1\uffff"+ - "\1\54\4\uffff\6\121\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", + "\1\51\5\uffff\12\122\5\uffff\1\52\1\uffff\6\121\24\54\1\uffff"+ + "\1\47\4\uffff\6\120\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", "", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\2\42\5\uffff\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52"+ - "\1\uffff\1\54\2\uffff\1\42\1\uffff\32\51\105\uffff\27\43\1\uffff"+ - "\37\43\1\uffff\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080"+ - "\43\u0080\uffff\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0"+ - "\43\u2150\uffff\u0200\43", - "\1\66\1\uffff\12\115\13\uffff\1\66\37\uffff\1\66", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\2\41\5\uffff\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54"+ + "\1\uffff\1\47\2\uffff\1\41\1\uffff\32\50\105\uffff\27\42\1\uffff"+ + "\37\42\1\uffff\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080"+ + "\42\u0080\uffff\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0"+ + "\42\u2150\uffff\u0200\42", + "\1\63\1\uffff\12\114\13\uffff\1\63\37\uffff\1\63", "", - "\1\55\5\uffff\12\117\5\uffff\1\56\1\uffff\32\43\1\uffff\1"+ - "\41\4\uffff\32\43\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08"+ - "\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\5\uffff\12\126\5\uffff\1\56\1\uffff\6\126\24\43\1\uffff"+ - "\1\41\4\uffff\6\126\24\43\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\131\5\uffff\1\56\1\uffff\6\130\24\52\1\uffff"+ - "\1\54\4\uffff\6\127\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\131\5\uffff\1\56\1\uffff\6\130\24\52\1\uffff"+ - "\1\54\4\uffff\6\127\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\131\5\uffff\1\56\1\uffff\6\130\24\52\1\uffff"+ - "\1\54\4\uffff\6\127\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", + "\1\51\5\uffff\12\116\5\uffff\1\52\1\uffff\32\42\1\uffff\1"+ + "\40\4\uffff\32\42\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08"+ + "\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\5\uffff\12\125\5\uffff\1\52\1\uffff\6\125\24\42\1\uffff"+ + "\1\40\4\uffff\6\125\24\42\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\130\5\uffff\1\52\1\uffff\6\127\24\54\1\uffff"+ + "\1\47\4\uffff\6\126\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\130\5\uffff\1\52\1\uffff\6\127\24\54\1\uffff"+ + "\1\47\4\uffff\6\126\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\130\5\uffff\1\52\1\uffff\6\127\24\54\1\uffff"+ + "\1\47\4\uffff\6\126\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", "", "", - "\1\55\5\uffff\12\132\5\uffff\1\56\1\uffff\6\132\24\43\1\uffff"+ - "\1\41\4\uffff\6\132\24\43\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\135\5\uffff\1\56\1\uffff\6\134\24\52\1\uffff"+ - "\1\54\4\uffff\6\133\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\135\5\uffff\1\56\1\uffff\6\134\24\52\1\uffff"+ - "\1\54\4\uffff\6\133\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\135\5\uffff\1\56\1\uffff\6\134\24\52\1\uffff"+ - "\1\54\4\uffff\6\133\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\136\5\uffff\1\56\1\uffff\6\136\24\43\1\uffff"+ - "\1\41\4\uffff\6\136\24\43\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\141\5\uffff\1\56\1\uffff\6\140\24\52\1\uffff"+ - "\1\54\4\uffff\6\137\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\141\5\uffff\1\56\1\uffff\6\140\24\52\1\uffff"+ - "\1\54\4\uffff\6\137\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\141\5\uffff\1\56\1\uffff\6\140\24\52\1\uffff"+ - "\1\54\4\uffff\6\137\24\51\105\uffff\27\43\1\uffff\37\43\1\uffff"+ - "\u1f08\43\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff"+ - "\u092e\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff"+ - "\u0200\43", - "\1\55\5\uffff\12\43\5\uffff\1\56\1\uffff\32\43\1\uffff\1\41"+ - "\4\uffff\32\43\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43", - "\1\55\5\uffff\12\53\5\uffff\1\56\1\uffff\32\52\1\uffff\1\54"+ - "\4\uffff\32\51\105\uffff\27\43\1\uffff\37\43\1\uffff\u1f08\43"+ - "\u1040\uffff\u0150\43\u0170\uffff\u0080\43\u0080\uffff\u092e"+ - "\43\u10d2\uffff\u5200\43\u0c00\uffff\u2bb0\43\u2150\uffff\u0200"+ - "\43" + "\1\51\5\uffff\12\131\5\uffff\1\52\1\uffff\6\131\24\42\1\uffff"+ + "\1\40\4\uffff\6\131\24\42\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\134\5\uffff\1\52\1\uffff\6\133\24\54\1\uffff"+ + "\1\47\4\uffff\6\132\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\134\5\uffff\1\52\1\uffff\6\133\24\54\1\uffff"+ + "\1\47\4\uffff\6\132\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\134\5\uffff\1\52\1\uffff\6\133\24\54\1\uffff"+ + "\1\47\4\uffff\6\132\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\135\5\uffff\1\52\1\uffff\6\135\24\42\1\uffff"+ + "\1\40\4\uffff\6\135\24\42\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\140\5\uffff\1\52\1\uffff\6\137\24\54\1\uffff"+ + "\1\47\4\uffff\6\136\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\140\5\uffff\1\52\1\uffff\6\137\24\54\1\uffff"+ + "\1\47\4\uffff\6\136\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\140\5\uffff\1\52\1\uffff\6\137\24\54\1\uffff"+ + "\1\47\4\uffff\6\136\24\50\105\uffff\27\42\1\uffff\37\42\1\uffff"+ + "\u1f08\42\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff"+ + "\u092e\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff"+ + "\u0200\42", + "\1\51\5\uffff\12\42\5\uffff\1\52\1\uffff\32\42\1\uffff\1\40"+ + "\4\uffff\32\42\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42", + "\1\51\5\uffff\12\55\5\uffff\1\52\1\uffff\32\54\1\uffff\1\47"+ + "\4\uffff\32\50\105\uffff\27\42\1\uffff\37\42\1\uffff\u1f08\42"+ + "\u1040\uffff\u0150\42\u0170\uffff\u0080\42\u0080\uffff\u092e"+ + "\42\u10d2\uffff\u5200\42\u0c00\uffff\u2bb0\42\u2150\uffff\u0200"+ + "\42" }; static final short[] DFA36_eot = DFA.unpackEncodedString(DFA36_eotS); @@ -3435,29 +3405,29 @@ public class FTSLexer extends Lexer { this.transition = DFA36_transition; } public String getDescription() { - return "1:1: Tokens : ( FTSPHRASE | URI | OR | AND | NOT | TILDA | LPAREN | RPAREN | PLUS | MINUS | COLON | STAR | DOTDOT | DOT | AMP | EXCLAMATION | BAR | EQUALS | QUESTION_MARK | LCURL | RCURL | LSQUARE | RSQUARE | TO | COMMA | CARAT | DOLLAR | GT | LT | AT | PERCENT | ID | DECIMAL_INTEGER_LITERAL | FTSWORD | FTSPRE | FTSWILD | FLOATING_POINT_LITERAL | WS );"; + return "1:1: Tokens : ( FTSPHRASE | URI | OR | AND | NOT | TILDA | LPAREN | RPAREN | PLUS | MINUS | COLON | STAR | DOTDOT | DOT | AMP | EXCLAMATION | BAR | EQUALS | QUESTION_MARK | LCURL | RCURL | LSQUARE | RSQUARE | TO | COMMA | CARAT | DOLLAR | GT | LT | AT | ID | DECIMAL_INTEGER_LITERAL | FTSWORD | FTSPRE | FTSWILD | FLOATING_POINT_LITERAL | WS );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : - int LA36_44 = input.LA(1); + int LA36_39 = input.LA(1); s = -1; - if ( (LA36_44=='u') ) {s = 70;} + if ( (LA36_39=='u') ) {s = 69;} - else if ( ((LA36_44>='\u0000' && LA36_44<='t')||(LA36_44>='v' && LA36_44<='\uFFFF')) ) {s = 71;} + else if ( ((LA36_39>='\u0000' && LA36_39<='t')||(LA36_39>='v' && LA36_39<='\uFFFF')) ) {s = 70;} if ( s>=0 ) return s; break; case 1 : - int LA36_33 = input.LA(1); + int LA36_32 = input.LA(1); s = -1; - if ( (LA36_33=='u') ) {s = 66;} + if ( (LA36_32=='u') ) {s = 65;} - else if ( ((LA36_33>='\u0000' && LA36_33<='t')||(LA36_33>='v' && LA36_33<='\uFFFF')) ) {s = 67;} + else if ( ((LA36_32>='\u0000' && LA36_32<='t')||(LA36_32>='v' && LA36_32<='\uFFFF')) ) {s = 66;} if ( s>=0 ) return s; break; diff --git a/source/java/org/alfresco/repo/search/impl/parsers/FTSParser.java b/source/java/org/alfresco/repo/search/impl/parsers/FTSParser.java index d9f000e194..eadb2ef4cc 100644 --- a/source/java/org/alfresco/repo/search/impl/parsers/FTSParser.java +++ b/source/java/org/alfresco/repo/search/impl/parsers/FTSParser.java @@ -1,4 +1,4 @@ -// $ANTLR !Unknown version! W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g 2009-05-15 10:34:20 +// $ANTLR !Unknown version! W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g 2009-05-01 12:22:10 package org.alfresco.repo.search.impl.parsers; import org.antlr.runtime.*; @@ -12,100 +12,98 @@ import org.antlr.runtime.tree.*; public class FTSParser extends Parser { public static final String[] tokenNames = new String[] { - "", "", "", "", "FTS", "DISJUNCTION", "CONJUNCTION", "NEGATION", "TERM", "EXACT_TERM", "PHRASE", "SYNONYM", "RANGE", "PROXIMITY", "DEFAULT", "MANDATORY", "OPTIONAL", "EXCLUDE", "FIELD_DISJUNCTION", "FIELD_CONJUNCTION", "FIELD_NEGATION", "FIELD_GROUP", "FIELD_DEFAULT", "FIELD_MANDATORY", "FIELD_OPTIONAL", "FIELD_EXCLUDE", "FG_TERM", "FG_EXACT_TERM", "FG_PHRASE", "FG_SYNONYM", "FG_PROXIMITY", "FG_RANGE", "FIELD_REF", "INCLUSIVE", "EXCLUSIVE", "QUALIFIER", "PREFIX", "NAME_SPACE", "BOOST", "FUZZY", "TEMPLATE", "PLUS", "BAR", "MINUS", "LPAREN", "RPAREN", "PERCENT", "COMMA", "TILDA", "DECIMAL_INTEGER_LITERAL", "CARAT", "COLON", "EQUALS", "FTSPHRASE", "STAR", "DOTDOT", "TO", "LSQUARE", "LT", "RSQUARE", "GT", "AT", "URI", "ID", "FTSWORD", "FTSPRE", "FTSWILD", "OR", "AND", "NOT", "FLOATING_POINT_LITERAL", "AMP", "EXCLAMATION", "F_ESC", "F_URI_ALPHA", "F_URI_DIGIT", "F_URI_OTHER", "F_HEX", "F_URI_ESC", "DOT", "QUESTION_MARK", "LCURL", "RCURL", "DOLLAR", "DECIMAL_NUMERAL", "INWORD", "START_RANGE_I", "START_RANGE_F", "DIGIT", "EXPONENT", "ZERO_DIGIT", "NON_ZERO_DIGIT", "E", "SIGNED_INTEGER", "WS" + "", "", "", "", "FTS", "DISJUNCTION", "CONJUNCTION", "NEGATION", "TERM", "EXACT_TERM", "PHRASE", "SYNONYM", "RANGE", "PROXIMITY", "DEFAULT", "MANDATORY", "OPTIONAL", "EXCLUDE", "FIELD_DISJUNCTION", "FIELD_CONJUNCTION", "FIELD_NEGATION", "FIELD_GROUP", "FIELD_DEFAULT", "FIELD_MANDATORY", "FIELD_OPTIONAL", "FIELD_EXCLUDE", "FG_TERM", "FG_EXACT_TERM", "FG_PHRASE", "FG_SYNONYM", "FG_PROXIMITY", "FG_RANGE", "FIELD_REF", "INCLUSIVE", "EXCLUSIVE", "QUALIFIER", "PREFIX", "NAME_SPACE", "BOOST", "FUZZY", "PLUS", "BAR", "MINUS", "LPAREN", "RPAREN", "TILDA", "DECIMAL_INTEGER_LITERAL", "CARAT", "COLON", "EQUALS", "FTSPHRASE", "STAR", "DOTDOT", "TO", "LSQUARE", "LT", "RSQUARE", "GT", "AT", "URI", "ID", "FTSWORD", "FTSPRE", "FTSWILD", "OR", "AND", "NOT", "FLOATING_POINT_LITERAL", "AMP", "EXCLAMATION", "F_ESC", "F_URI_ALPHA", "F_URI_DIGIT", "F_URI_OTHER", "F_HEX", "F_URI_ESC", "DOT", "QUESTION_MARK", "LCURL", "RCURL", "COMMA", "DOLLAR", "DECIMAL_NUMERAL", "INWORD", "START_RANGE_I", "START_RANGE_F", "DIGIT", "EXPONENT", "ZERO_DIGIT", "NON_ZERO_DIGIT", "E", "SIGNED_INTEGER", "WS" }; public static final int PREFIX=36; - public static final int LT=58; - public static final int EXPONENT=89; - public static final int STAR=54; - public static final int LSQUARE=57; + public static final int LT=55; + public static final int EXPONENT=87; + public static final int STAR=51; + public static final int LSQUARE=54; public static final int FG_TERM=26; public static final int FUZZY=39; public static final int FIELD_DISJUNCTION=18; - public static final int EQUALS=52; - public static final int F_URI_ALPHA=74; + public static final int EQUALS=49; + public static final int F_URI_ALPHA=71; public static final int FG_EXACT_TERM=27; - public static final int NOT=69; + public static final int NOT=66; public static final int FIELD_EXCLUDE=25; public static final int EOF=-1; public static final int NAME_SPACE=37; - public static final int RPAREN=45; - public static final int FLOATING_POINT_LITERAL=70; - public static final int EXCLAMATION=72; - public static final int QUESTION_MARK=80; - public static final int ZERO_DIGIT=90; + public static final int RPAREN=44; + public static final int FLOATING_POINT_LITERAL=67; + public static final int EXCLAMATION=69; + public static final int QUESTION_MARK=77; + public static final int ZERO_DIGIT=88; public static final int FIELD_OPTIONAL=24; public static final int SYNONYM=11; - public static final int E=92; + public static final int E=90; public static final int CONJUNCTION=6; - public static final int FTSWORD=64; - public static final int URI=62; + public static final int FTSWORD=61; + public static final int URI=59; public static final int DISJUNCTION=5; public static final int FTS=4; - public static final int WS=94; + public static final int WS=92; public static final int FG_SYNONYM=29; - public static final int FTSPHRASE=53; + public static final int FTSPHRASE=50; public static final int FIELD_CONJUNCTION=19; public static final int INCLUSIVE=33; - public static final int OR=67; - public static final int GT=60; - public static final int F_HEX=77; - public static final int DECIMAL_INTEGER_LITERAL=49; - public static final int FTSPRE=65; + public static final int OR=64; + public static final int GT=57; + public static final int F_HEX=74; + public static final int DECIMAL_INTEGER_LITERAL=46; + public static final int FTSPRE=62; public static final int FG_PHRASE=28; public static final int FIELD_NEGATION=20; public static final int TERM=8; - public static final int DOLLAR=83; - public static final int START_RANGE_I=86; - public static final int AMP=71; + public static final int DOLLAR=81; + public static final int START_RANGE_I=84; + public static final int AMP=68; public static final int FG_PROXIMITY=30; public static final int EXACT_TERM=9; - public static final int START_RANGE_F=87; - public static final int DOTDOT=55; + public static final int START_RANGE_F=85; + public static final int DOTDOT=52; public static final int MANDATORY=15; public static final int EXCLUSIVE=34; - public static final int ID=63; - public static final int AND=68; - public static final int LPAREN=44; + public static final int ID=60; + public static final int AND=65; + public static final int LPAREN=43; public static final int BOOST=38; - public static final int AT=61; - public static final int TILDA=48; - public static final int DECIMAL_NUMERAL=84; - public static final int COMMA=47; - public static final int F_URI_DIGIT=75; - public static final int SIGNED_INTEGER=93; + public static final int AT=58; + public static final int TILDA=45; + public static final int DECIMAL_NUMERAL=82; + public static final int COMMA=80; + public static final int F_URI_DIGIT=72; + public static final int SIGNED_INTEGER=91; public static final int FIELD_DEFAULT=22; - public static final int CARAT=50; - public static final int PLUS=41; - public static final int DIGIT=88; - public static final int DOT=79; - public static final int F_ESC=73; + public static final int CARAT=47; + public static final int PLUS=40; + public static final int DIGIT=86; + public static final int DOT=76; + public static final int F_ESC=70; public static final int EXCLUDE=17; - public static final int PERCENT=46; - public static final int NON_ZERO_DIGIT=91; + public static final int NON_ZERO_DIGIT=89; public static final int QUALIFIER=35; - public static final int TO=56; + public static final int TO=53; public static final int FIELD_GROUP=21; public static final int DEFAULT=14; - public static final int INWORD=85; + public static final int INWORD=83; public static final int RANGE=12; - public static final int MINUS=43; - public static final int RSQUARE=59; + public static final int MINUS=42; + public static final int RSQUARE=56; public static final int FIELD_REF=32; public static final int PROXIMITY=13; public static final int PHRASE=10; public static final int OPTIONAL=16; - public static final int COLON=51; - public static final int LCURL=81; - public static final int F_URI_OTHER=76; + public static final int COLON=48; + public static final int LCURL=78; + public static final int F_URI_OTHER=73; public static final int NEGATION=7; - public static final int F_URI_ESC=78; - public static final int TEMPLATE=40; - public static final int RCURL=82; + public static final int F_URI_ESC=75; + public static final int RCURL=79; public static final int FIELD_MANDATORY=23; public static final int FG_RANGE=31; - public static final int BAR=42; - public static final int FTSWILD=66; + public static final int BAR=41; + public static final int FTSWILD=63; // delegates // delegators @@ -206,7 +204,7 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsQuery" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:210:1: ftsQuery : ftsImplicitConjunctionOrDisjunction EOF -> ftsImplicitConjunctionOrDisjunction ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:208:1: ftsQuery : ftsImplicitConjunctionOrDisjunction EOF -> ftsImplicitConjunctionOrDisjunction ; public final FTSParser.ftsQuery_return ftsQuery() throws RecognitionException { FTSParser.ftsQuery_return retval = new FTSParser.ftsQuery_return(); retval.start = input.LT(1); @@ -221,16 +219,16 @@ public class FTSParser extends Parser { RewriteRuleTokenStream stream_EOF=new RewriteRuleTokenStream(adaptor,"token EOF"); RewriteRuleSubtreeStream stream_ftsImplicitConjunctionOrDisjunction=new RewriteRuleSubtreeStream(adaptor,"rule ftsImplicitConjunctionOrDisjunction"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:211:6: ( ftsImplicitConjunctionOrDisjunction EOF -> ftsImplicitConjunctionOrDisjunction ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:211:9: ftsImplicitConjunctionOrDisjunction EOF + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:209:6: ( ftsImplicitConjunctionOrDisjunction EOF -> ftsImplicitConjunctionOrDisjunction ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:209:9: ftsImplicitConjunctionOrDisjunction EOF { - pushFollow(FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsQuery259); + pushFollow(FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsQuery253); ftsImplicitConjunctionOrDisjunction1=ftsImplicitConjunctionOrDisjunction(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsImplicitConjunctionOrDisjunction.add(ftsImplicitConjunctionOrDisjunction1.getTree()); - EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_ftsQuery261); if (state.failed) return retval; + EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_ftsQuery255); if (state.failed) return retval; if ( state.backtracking==0 ) stream_EOF.add(EOF2); @@ -247,7 +245,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 212:3: -> ftsImplicitConjunctionOrDisjunction + // 210:3: -> ftsImplicitConjunctionOrDisjunction { adaptor.addChild(root_0, stream_ftsImplicitConjunctionOrDisjunction.nextTree()); @@ -281,7 +279,7 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsImplicitConjunctionOrDisjunction" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:218:1: ftsImplicitConjunctionOrDisjunction : ({...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) | ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:216:1: ftsImplicitConjunctionOrDisjunction : ({...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) | ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) ); public final FTSParser.ftsImplicitConjunctionOrDisjunction_return ftsImplicitConjunctionOrDisjunction() throws RecognitionException { FTSParser.ftsImplicitConjunctionOrDisjunction_return retval = new FTSParser.ftsImplicitConjunctionOrDisjunction_return(); retval.start = input.LT(1); @@ -299,39 +297,39 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_ftsExplicitDisjunction=new RewriteRuleSubtreeStream(adaptor,"rule ftsExplicitDisjunction"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:2: ({...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) | ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:217:2: ({...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) | ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) ) int alt3=2; alt3 = dfa3.predict(input); switch (alt3) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:4: {...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:217:4: {...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* { if ( !((defaultConjunction())) ) { if (state.backtracking>0) {state.failed=true; return retval;} throw new FailedPredicateException(input, "ftsImplicitConjunctionOrDisjunction", "defaultConjunction()"); } - pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction285); + pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction279); ftsExplicitDisjunction3=ftsExplicitDisjunction(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsExplicitDisjunction.add(ftsExplicitDisjunction3.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:51: ( ftsExplicitDisjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:217:51: ( ftsExplicitDisjunction )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); - if ( ((LA1_0>=PLUS && LA1_0<=LPAREN)||LA1_0==PERCENT||(LA1_0>=TILDA && LA1_0<=DECIMAL_INTEGER_LITERAL)||(LA1_0>=EQUALS && LA1_0<=FTSPHRASE)||(LA1_0>=TO && LA1_0<=LT)||(LA1_0>=AT && LA1_0<=FLOATING_POINT_LITERAL)||LA1_0==EXCLAMATION) ) { + if ( ((LA1_0>=PLUS && LA1_0<=LPAREN)||(LA1_0>=TILDA && LA1_0<=DECIMAL_INTEGER_LITERAL)||(LA1_0>=EQUALS && LA1_0<=FTSPHRASE)||(LA1_0>=TO && LA1_0<=LT)||(LA1_0>=AT && LA1_0<=FLOATING_POINT_LITERAL)||LA1_0==EXCLAMATION) ) { alt1=1; } switch (alt1) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:52: ftsExplicitDisjunction + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:217:52: ftsExplicitDisjunction { - pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction288); + pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction282); ftsExplicitDisjunction4=ftsExplicitDisjunction(); state._fsp--; @@ -360,9 +358,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 220:3: -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) + // 218:3: -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:220:6: ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:218:6: ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(CONJUNCTION, "CONJUNCTION"), root_1); @@ -385,30 +383,30 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:221:5: ftsExplicitDisjunction ( ftsExplicitDisjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:5: ftsExplicitDisjunction ( ftsExplicitDisjunction )* { - pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction307); + pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction301); ftsExplicitDisjunction5=ftsExplicitDisjunction(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsExplicitDisjunction.add(ftsExplicitDisjunction5.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:221:28: ( ftsExplicitDisjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:28: ( ftsExplicitDisjunction )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); - if ( ((LA2_0>=PLUS && LA2_0<=LPAREN)||LA2_0==PERCENT||(LA2_0>=TILDA && LA2_0<=DECIMAL_INTEGER_LITERAL)||(LA2_0>=EQUALS && LA2_0<=FTSPHRASE)||(LA2_0>=TO && LA2_0<=LT)||(LA2_0>=AT && LA2_0<=FLOATING_POINT_LITERAL)||LA2_0==EXCLAMATION) ) { + if ( ((LA2_0>=PLUS && LA2_0<=LPAREN)||(LA2_0>=TILDA && LA2_0<=DECIMAL_INTEGER_LITERAL)||(LA2_0>=EQUALS && LA2_0<=FTSPHRASE)||(LA2_0>=TO && LA2_0<=LT)||(LA2_0>=AT && LA2_0<=FLOATING_POINT_LITERAL)||LA2_0==EXCLAMATION) ) { alt2=1; } switch (alt2) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:221:29: ftsExplicitDisjunction + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:219:29: ftsExplicitDisjunction { - pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction310); + pushFollow(FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction304); ftsExplicitDisjunction6=ftsExplicitDisjunction(); state._fsp--; @@ -437,9 +435,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 222:3: -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) + // 220:3: -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:222:6: ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:220:6: ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(DISJUNCTION, "DISJUNCTION"), root_1); @@ -488,7 +486,7 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsExplicitDisjunction" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:229:1: ftsExplicitDisjunction : ftsExplictConjunction ( ( or )=> or ftsExplictConjunction )* -> ^( DISJUNCTION ( ftsExplictConjunction )+ ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:227:1: ftsExplicitDisjunction : ftsExplictConjunction ( ( or )=> or ftsExplictConjunction )* -> ^( DISJUNCTION ( ftsExplictConjunction )+ ) ; public final FTSParser.ftsExplicitDisjunction_return ftsExplicitDisjunction() throws RecognitionException { FTSParser.ftsExplicitDisjunction_return retval = new FTSParser.ftsExplicitDisjunction_return(); retval.start = input.LT(1); @@ -505,31 +503,31 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_or=new RewriteRuleSubtreeStream(adaptor,"rule or"); RewriteRuleSubtreeStream stream_ftsExplictConjunction=new RewriteRuleSubtreeStream(adaptor,"rule ftsExplictConjunction"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:230:2: ( ftsExplictConjunction ( ( or )=> or ftsExplictConjunction )* -> ^( DISJUNCTION ( ftsExplictConjunction )+ ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:230:4: ftsExplictConjunction ( ( or )=> or ftsExplictConjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:228:2: ( ftsExplictConjunction ( ( or )=> or ftsExplictConjunction )* -> ^( DISJUNCTION ( ftsExplictConjunction )+ ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:228:4: ftsExplictConjunction ( ( or )=> or ftsExplictConjunction )* { - pushFollow(FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction337); + pushFollow(FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction331); ftsExplictConjunction7=ftsExplictConjunction(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsExplictConjunction.add(ftsExplictConjunction7.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:230:26: ( ( or )=> or ftsExplictConjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:228:26: ( ( or )=> or ftsExplictConjunction )* loop4: do { int alt4=2; alt4 = dfa4.predict(input); switch (alt4) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:230:27: ( or )=> or ftsExplictConjunction + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:228:27: ( or )=> or ftsExplictConjunction { - pushFollow(FOLLOW_or_in_ftsExplicitDisjunction346); + pushFollow(FOLLOW_or_in_ftsExplicitDisjunction340); or8=or(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_or.add(or8.getTree()); - pushFollow(FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction348); + pushFollow(FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction342); ftsExplictConjunction9=ftsExplictConjunction(); state._fsp--; @@ -558,9 +556,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 231:3: -> ^( DISJUNCTION ( ftsExplictConjunction )+ ) + // 229:3: -> ^( DISJUNCTION ( ftsExplictConjunction )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:231:6: ^( DISJUNCTION ( ftsExplictConjunction )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:229:6: ^( DISJUNCTION ( ftsExplictConjunction )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(DISJUNCTION, "DISJUNCTION"), root_1); @@ -607,7 +605,7 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsExplictConjunction" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:237:1: ftsExplictConjunction : ftsPrefixed ( ( and )=> and ftsPrefixed )* -> ^( CONJUNCTION ( ftsPrefixed )+ ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:235:1: ftsExplictConjunction : ftsPrefixed ( ( and )=> and ftsPrefixed )* -> ^( CONJUNCTION ( ftsPrefixed )+ ) ; public final FTSParser.ftsExplictConjunction_return ftsExplictConjunction() throws RecognitionException { FTSParser.ftsExplictConjunction_return retval = new FTSParser.ftsExplictConjunction_return(); retval.start = input.LT(1); @@ -624,31 +622,31 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_ftsPrefixed=new RewriteRuleSubtreeStream(adaptor,"rule ftsPrefixed"); RewriteRuleSubtreeStream stream_and=new RewriteRuleSubtreeStream(adaptor,"rule and"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:238:2: ( ftsPrefixed ( ( and )=> and ftsPrefixed )* -> ^( CONJUNCTION ( ftsPrefixed )+ ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:238:4: ftsPrefixed ( ( and )=> and ftsPrefixed )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:236:2: ( ftsPrefixed ( ( and )=> and ftsPrefixed )* -> ^( CONJUNCTION ( ftsPrefixed )+ ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:236:4: ftsPrefixed ( ( and )=> and ftsPrefixed )* { - pushFollow(FOLLOW_ftsPrefixed_in_ftsExplictConjunction375); + pushFollow(FOLLOW_ftsPrefixed_in_ftsExplictConjunction369); ftsPrefixed10=ftsPrefixed(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsPrefixed.add(ftsPrefixed10.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:238:16: ( ( and )=> and ftsPrefixed )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:236:16: ( ( and )=> and ftsPrefixed )* loop5: do { int alt5=2; alt5 = dfa5.predict(input); switch (alt5) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:238:17: ( and )=> and ftsPrefixed + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:236:17: ( and )=> and ftsPrefixed { - pushFollow(FOLLOW_and_in_ftsExplictConjunction384); + pushFollow(FOLLOW_and_in_ftsExplictConjunction378); and11=and(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_and.add(and11.getTree()); - pushFollow(FOLLOW_ftsPrefixed_in_ftsExplictConjunction386); + pushFollow(FOLLOW_ftsPrefixed_in_ftsExplictConjunction380); ftsPrefixed12=ftsPrefixed(); state._fsp--; @@ -677,9 +675,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 239:3: -> ^( CONJUNCTION ( ftsPrefixed )+ ) + // 237:3: -> ^( CONJUNCTION ( ftsPrefixed )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:239:6: ^( CONJUNCTION ( ftsPrefixed )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:237:6: ^( CONJUNCTION ( ftsPrefixed )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(CONJUNCTION, "CONJUNCTION"), root_1); @@ -726,7 +724,7 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsPrefixed" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:248:1: ftsPrefixed : ( ( not )=> not ftsTest ( boost )? -> ^( NEGATION ftsTest ( boost )? ) | ftsTest ( boost )? -> ^( DEFAULT ftsTest ( boost )? ) | PLUS ftsTest ( boost )? -> ^( MANDATORY ftsTest ( boost )? ) | BAR ftsTest ( boost )? -> ^( OPTIONAL ftsTest ( boost )? ) | MINUS ftsTest ( boost )? -> ^( EXCLUDE ftsTest ( boost )? ) ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:246:1: ftsPrefixed : ( ( not )=> not ftsTest ( boost )? -> ^( NEGATION ftsTest ( boost )? ) | ftsTest ( boost )? -> ^( DEFAULT ftsTest ( boost )? ) | PLUS ftsTest ( boost )? -> ^( MANDATORY ftsTest ( boost )? ) | BAR ftsTest ( boost )? -> ^( OPTIONAL ftsTest ( boost )? ) | MINUS ftsTest ( boost )? -> ^( EXCLUDE ftsTest ( boost )? ) ); public final FTSParser.ftsPrefixed_return ftsPrefixed() throws RecognitionException { FTSParser.ftsPrefixed_return retval = new FTSParser.ftsPrefixed_return(); retval.start = input.LT(1); @@ -769,26 +767,26 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_ftsTest=new RewriteRuleSubtreeStream(adaptor,"rule ftsTest"); RewriteRuleSubtreeStream stream_boost=new RewriteRuleSubtreeStream(adaptor,"rule boost"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:6: ( ( not )=> not ftsTest ( boost )? -> ^( NEGATION ftsTest ( boost )? ) | ftsTest ( boost )? -> ^( DEFAULT ftsTest ( boost )? ) | PLUS ftsTest ( boost )? -> ^( MANDATORY ftsTest ( boost )? ) | BAR ftsTest ( boost )? -> ^( OPTIONAL ftsTest ( boost )? ) | MINUS ftsTest ( boost )? -> ^( EXCLUDE ftsTest ( boost )? ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:247:6: ( ( not )=> not ftsTest ( boost )? -> ^( NEGATION ftsTest ( boost )? ) | ftsTest ( boost )? -> ^( DEFAULT ftsTest ( boost )? ) | PLUS ftsTest ( boost )? -> ^( MANDATORY ftsTest ( boost )? ) | BAR ftsTest ( boost )? -> ^( OPTIONAL ftsTest ( boost )? ) | MINUS ftsTest ( boost )? -> ^( EXCLUDE ftsTest ( boost )? ) ) int alt11=5; alt11 = dfa11.predict(input); switch (alt11) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:8: ( not )=> not ftsTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:247:8: ( not )=> not ftsTest ( boost )? { - pushFollow(FOLLOW_not_in_ftsPrefixed427); + pushFollow(FOLLOW_not_in_ftsPrefixed421); not13=not(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_not.add(not13.getTree()); - pushFollow(FOLLOW_ftsTest_in_ftsPrefixed429); + pushFollow(FOLLOW_ftsTest_in_ftsPrefixed423); ftsTest14=ftsTest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsTest.add(ftsTest14.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:30: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:247:30: ( boost )? int alt6=2; int LA6_0 = input.LA(1); @@ -797,9 +795,9 @@ public class FTSParser extends Parser { } switch (alt6) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:30: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:247:30: boost { - pushFollow(FOLLOW_boost_in_ftsPrefixed432); + pushFollow(FOLLOW_boost_in_ftsPrefixed426); boost15=boost(); state._fsp--; @@ -825,15 +823,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 250:3: -> ^( NEGATION ftsTest ( boost )? ) + // 248:3: -> ^( NEGATION ftsTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:250:6: ^( NEGATION ftsTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:248:6: ^( NEGATION ftsTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(NEGATION, "NEGATION"), root_1); adaptor.addChild(root_1, stream_ftsTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:250:26: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:248:26: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -849,15 +847,15 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:251:8: ftsTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:8: ftsTest ( boost )? { - pushFollow(FOLLOW_ftsTest_in_ftsPrefixed456); + pushFollow(FOLLOW_ftsTest_in_ftsPrefixed450); ftsTest16=ftsTest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsTest.add(ftsTest16.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:251:17: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:17: ( boost )? int alt7=2; int LA7_0 = input.LA(1); @@ -866,9 +864,9 @@ public class FTSParser extends Parser { } switch (alt7) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:251:17: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:17: boost { - pushFollow(FOLLOW_boost_in_ftsPrefixed459); + pushFollow(FOLLOW_boost_in_ftsPrefixed453); boost17=boost(); state._fsp--; @@ -894,15 +892,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 252:3: -> ^( DEFAULT ftsTest ( boost )? ) + // 250:3: -> ^( DEFAULT ftsTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:252:6: ^( DEFAULT ftsTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:250:6: ^( DEFAULT ftsTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(DEFAULT, "DEFAULT"), root_1); adaptor.addChild(root_1, stream_ftsTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:252:24: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:250:24: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -918,18 +916,18 @@ public class FTSParser extends Parser { } break; case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:253:11: PLUS ftsTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:251:11: PLUS ftsTest ( boost )? { - PLUS18=(Token)match(input,PLUS,FOLLOW_PLUS_in_ftsPrefixed485); if (state.failed) return retval; + PLUS18=(Token)match(input,PLUS,FOLLOW_PLUS_in_ftsPrefixed479); if (state.failed) return retval; if ( state.backtracking==0 ) stream_PLUS.add(PLUS18); - pushFollow(FOLLOW_ftsTest_in_ftsPrefixed487); + pushFollow(FOLLOW_ftsTest_in_ftsPrefixed481); ftsTest19=ftsTest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsTest.add(ftsTest19.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:253:24: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:251:24: ( boost )? int alt8=2; int LA8_0 = input.LA(1); @@ -938,9 +936,9 @@ public class FTSParser extends Parser { } switch (alt8) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:253:24: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:251:24: boost { - pushFollow(FOLLOW_boost_in_ftsPrefixed489); + pushFollow(FOLLOW_boost_in_ftsPrefixed483); boost20=boost(); state._fsp--; @@ -966,15 +964,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 254:17: -> ^( MANDATORY ftsTest ( boost )? ) + // 252:17: -> ^( MANDATORY ftsTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:254:20: ^( MANDATORY ftsTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:252:20: ^( MANDATORY ftsTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(MANDATORY, "MANDATORY"), root_1); adaptor.addChild(root_1, stream_ftsTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:254:40: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:252:40: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -990,18 +988,18 @@ public class FTSParser extends Parser { } break; case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:255:11: BAR ftsTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:253:11: BAR ftsTest ( boost )? { - BAR21=(Token)match(input,BAR,FOLLOW_BAR_in_ftsPrefixed529); if (state.failed) return retval; + BAR21=(Token)match(input,BAR,FOLLOW_BAR_in_ftsPrefixed523); if (state.failed) return retval; if ( state.backtracking==0 ) stream_BAR.add(BAR21); - pushFollow(FOLLOW_ftsTest_in_ftsPrefixed531); + pushFollow(FOLLOW_ftsTest_in_ftsPrefixed525); ftsTest22=ftsTest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsTest.add(ftsTest22.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:255:23: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:253:23: ( boost )? int alt9=2; int LA9_0 = input.LA(1); @@ -1010,9 +1008,9 @@ public class FTSParser extends Parser { } switch (alt9) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:255:23: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:253:23: boost { - pushFollow(FOLLOW_boost_in_ftsPrefixed533); + pushFollow(FOLLOW_boost_in_ftsPrefixed527); boost23=boost(); state._fsp--; @@ -1038,15 +1036,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 256:17: -> ^( OPTIONAL ftsTest ( boost )? ) + // 254:17: -> ^( OPTIONAL ftsTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:256:20: ^( OPTIONAL ftsTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:254:20: ^( OPTIONAL ftsTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(OPTIONAL, "OPTIONAL"), root_1); adaptor.addChild(root_1, stream_ftsTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:256:39: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:254:39: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -1062,18 +1060,18 @@ public class FTSParser extends Parser { } break; case 5 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:257:11: MINUS ftsTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:255:11: MINUS ftsTest ( boost )? { - MINUS24=(Token)match(input,MINUS,FOLLOW_MINUS_in_ftsPrefixed573); if (state.failed) return retval; + MINUS24=(Token)match(input,MINUS,FOLLOW_MINUS_in_ftsPrefixed567); if (state.failed) return retval; if ( state.backtracking==0 ) stream_MINUS.add(MINUS24); - pushFollow(FOLLOW_ftsTest_in_ftsPrefixed575); + pushFollow(FOLLOW_ftsTest_in_ftsPrefixed569); ftsTest25=ftsTest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsTest.add(ftsTest25.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:257:25: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:255:25: ( boost )? int alt10=2; int LA10_0 = input.LA(1); @@ -1082,9 +1080,9 @@ public class FTSParser extends Parser { } switch (alt10) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:257:25: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:255:25: boost { - pushFollow(FOLLOW_boost_in_ftsPrefixed577); + pushFollow(FOLLOW_boost_in_ftsPrefixed571); boost26=boost(); state._fsp--; @@ -1110,15 +1108,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 258:17: -> ^( EXCLUDE ftsTest ( boost )? ) + // 256:17: -> ^( EXCLUDE ftsTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:258:20: ^( EXCLUDE ftsTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:256:20: ^( EXCLUDE ftsTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(EXCLUDE, "EXCLUDE"), root_1); adaptor.addChild(root_1, stream_ftsTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:258:38: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:256:38: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -1160,7 +1158,7 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsTest" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:264:1: ftsTest : ( ftsTerm ( ( fuzzy )=> fuzzy )? -> ^( TERM ftsTerm ( fuzzy )? ) | ftsExactTerm ( ( fuzzy )=> fuzzy )? -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) | ftsPhrase ( ( slop )=> slop )? -> ^( PHRASE ftsPhrase ( slop )? ) | ftsSynonym ( ( fuzzy )=> fuzzy )? -> ^( SYNONYM ftsSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( PROXIMITY ftsFieldGroupProximity ) | ftsRange -> ^( RANGE ftsRange ) | ftsFieldGroup -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction | template -> template ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:262:1: ftsTest : ( ftsTerm ( ( fuzzy )=> fuzzy )? -> ^( TERM ftsTerm ( fuzzy )? ) | ftsExactTerm ( ( fuzzy )=> fuzzy )? -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) | ftsPhrase ( ( slop )=> slop )? -> ^( PHRASE ftsPhrase ( slop )? ) | ftsSynonym ( ( fuzzy )=> fuzzy )? -> ^( SYNONYM ftsSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( PROXIMITY ftsFieldGroupProximity ) | ftsRange -> ^( RANGE ftsRange ) | ftsFieldGroup -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction ); public final FTSParser.ftsTest_return ftsTest() throws RecognitionException { FTSParser.ftsTest_return retval = new FTSParser.ftsTest_return(); retval.start = input.LT(1); @@ -1193,14 +1191,11 @@ public class FTSParser extends Parser { FTSParser.ftsImplicitConjunctionOrDisjunction_return ftsImplicitConjunctionOrDisjunction39 = null; - FTSParser.template_return template41 = null; - Object LPAREN38_tree=null; Object RPAREN40_tree=null; RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); - RewriteRuleSubtreeStream stream_template=new RewriteRuleSubtreeStream(adaptor,"rule template"); RewriteRuleSubtreeStream stream_ftsFieldGroup=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroup"); RewriteRuleSubtreeStream stream_ftsTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsTerm"); RewriteRuleSubtreeStream stream_ftsExactTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsExactTerm"); @@ -1212,20 +1207,20 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_ftsSynonym=new RewriteRuleSubtreeStream(adaptor,"rule ftsSynonym"); RewriteRuleSubtreeStream stream_ftsFieldGroupProximity=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupProximity"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:6: ( ftsTerm ( ( fuzzy )=> fuzzy )? -> ^( TERM ftsTerm ( fuzzy )? ) | ftsExactTerm ( ( fuzzy )=> fuzzy )? -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) | ftsPhrase ( ( slop )=> slop )? -> ^( PHRASE ftsPhrase ( slop )? ) | ftsSynonym ( ( fuzzy )=> fuzzy )? -> ^( SYNONYM ftsSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( PROXIMITY ftsFieldGroupProximity ) | ftsRange -> ^( RANGE ftsRange ) | ftsFieldGroup -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction | template -> template ) - int alt16=9; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:263:6: ( ftsTerm ( ( fuzzy )=> fuzzy )? -> ^( TERM ftsTerm ( fuzzy )? ) | ftsExactTerm ( ( fuzzy )=> fuzzy )? -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) | ftsPhrase ( ( slop )=> slop )? -> ^( PHRASE ftsPhrase ( slop )? ) | ftsSynonym ( ( fuzzy )=> fuzzy )? -> ^( SYNONYM ftsSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( PROXIMITY ftsFieldGroupProximity ) | ftsRange -> ^( RANGE ftsRange ) | ftsFieldGroup -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction ) + int alt16=8; alt16 = dfa16.predict(input); switch (alt16) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:8: ftsTerm ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:263:8: ftsTerm ( ( fuzzy )=> fuzzy )? { - pushFollow(FOLLOW_ftsTerm_in_ftsTest627); + pushFollow(FOLLOW_ftsTerm_in_ftsTest621); ftsTerm27=ftsTerm(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsTerm.add(ftsTerm27.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:16: ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:263:16: ( ( fuzzy )=> fuzzy )? int alt12=2; int LA12_0 = input.LA(1); @@ -1242,9 +1237,9 @@ public class FTSParser extends Parser { } switch (alt12) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:17: ( fuzzy )=> fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:263:17: ( fuzzy )=> fuzzy { - pushFollow(FOLLOW_fuzzy_in_ftsTest636); + pushFollow(FOLLOW_fuzzy_in_ftsTest630); fuzzy28=fuzzy(); state._fsp--; @@ -1259,7 +1254,7 @@ public class FTSParser extends Parser { // AST REWRITE - // elements: ftsTerm, fuzzy + // elements: fuzzy, ftsTerm // token labels: // rule labels: retval // token list labels: @@ -1270,15 +1265,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 266:3: -> ^( TERM ftsTerm ( fuzzy )? ) + // 264:3: -> ^( TERM ftsTerm ( fuzzy )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:266:6: ^( TERM ftsTerm ( fuzzy )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:264:6: ^( TERM ftsTerm ( fuzzy )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TERM, "TERM"), root_1); adaptor.addChild(root_1, stream_ftsTerm.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:266:21: ( fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:264:21: ( fuzzy )? if ( stream_fuzzy.hasNext() ) { adaptor.addChild(root_1, stream_fuzzy.nextTree()); @@ -1294,15 +1289,15 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:4: ftsExactTerm ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:4: ftsExactTerm ( ( fuzzy )=> fuzzy )? { - pushFollow(FOLLOW_ftsExactTerm_in_ftsTest656); + pushFollow(FOLLOW_ftsExactTerm_in_ftsTest650); ftsExactTerm29=ftsExactTerm(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsExactTerm.add(ftsExactTerm29.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:17: ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:17: ( ( fuzzy )=> fuzzy )? int alt13=2; int LA13_0 = input.LA(1); @@ -1319,9 +1314,9 @@ public class FTSParser extends Parser { } switch (alt13) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:18: ( fuzzy )=> fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:18: ( fuzzy )=> fuzzy { - pushFollow(FOLLOW_fuzzy_in_ftsTest665); + pushFollow(FOLLOW_fuzzy_in_ftsTest659); fuzzy30=fuzzy(); state._fsp--; @@ -1336,7 +1331,7 @@ public class FTSParser extends Parser { // AST REWRITE - // elements: ftsExactTerm, fuzzy + // elements: fuzzy, ftsExactTerm // token labels: // rule labels: retval // token list labels: @@ -1347,15 +1342,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 268:3: -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) + // 266:3: -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:268:6: ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:266:6: ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(EXACT_TERM, "EXACT_TERM"), root_1); adaptor.addChild(root_1, stream_ftsExactTerm.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:268:32: ( fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:266:32: ( fuzzy )? if ( stream_fuzzy.hasNext() ) { adaptor.addChild(root_1, stream_fuzzy.nextTree()); @@ -1371,15 +1366,15 @@ public class FTSParser extends Parser { } break; case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:11: ftsPhrase ( ( slop )=> slop )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:11: ftsPhrase ( ( slop )=> slop )? { - pushFollow(FOLLOW_ftsPhrase_in_ftsTest692); + pushFollow(FOLLOW_ftsPhrase_in_ftsTest686); ftsPhrase31=ftsPhrase(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsPhrase.add(ftsPhrase31.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:21: ( ( slop )=> slop )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:21: ( ( slop )=> slop )? int alt14=2; int LA14_0 = input.LA(1); @@ -1396,9 +1391,9 @@ public class FTSParser extends Parser { } switch (alt14) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:22: ( slop )=> slop + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:22: ( slop )=> slop { - pushFollow(FOLLOW_slop_in_ftsTest701); + pushFollow(FOLLOW_slop_in_ftsTest695); slop32=slop(); state._fsp--; @@ -1424,15 +1419,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 270:10: -> ^( PHRASE ftsPhrase ( slop )? ) + // 268:10: -> ^( PHRASE ftsPhrase ( slop )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:270:13: ^( PHRASE ftsPhrase ( slop )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:268:13: ^( PHRASE ftsPhrase ( slop )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(PHRASE, "PHRASE"), root_1); adaptor.addChild(root_1, stream_ftsPhrase.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:270:32: ( slop )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:268:32: ( slop )? if ( stream_slop.hasNext() ) { adaptor.addChild(root_1, stream_slop.nextTree()); @@ -1448,15 +1443,15 @@ public class FTSParser extends Parser { } break; case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:271:11: ftsSynonym ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:11: ftsSynonym ( ( fuzzy )=> fuzzy )? { - pushFollow(FOLLOW_ftsSynonym_in_ftsTest735); + pushFollow(FOLLOW_ftsSynonym_in_ftsTest729); ftsSynonym33=ftsSynonym(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsSynonym.add(ftsSynonym33.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:271:22: ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:22: ( ( fuzzy )=> fuzzy )? int alt15=2; int LA15_0 = input.LA(1); @@ -1473,9 +1468,9 @@ public class FTSParser extends Parser { } switch (alt15) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:271:23: ( fuzzy )=> fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:23: ( fuzzy )=> fuzzy { - pushFollow(FOLLOW_fuzzy_in_ftsTest744); + pushFollow(FOLLOW_fuzzy_in_ftsTest738); fuzzy34=fuzzy(); state._fsp--; @@ -1490,7 +1485,7 @@ public class FTSParser extends Parser { // AST REWRITE - // elements: ftsSynonym, fuzzy + // elements: fuzzy, ftsSynonym // token labels: // rule labels: retval // token list labels: @@ -1501,15 +1496,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 272:10: -> ^( SYNONYM ftsSynonym ( fuzzy )? ) + // 270:10: -> ^( SYNONYM ftsSynonym ( fuzzy )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:272:13: ^( SYNONYM ftsSynonym ( fuzzy )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:270:13: ^( SYNONYM ftsSynonym ( fuzzy )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(SYNONYM, "SYNONYM"), root_1); adaptor.addChild(root_1, stream_ftsSynonym.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:272:34: ( fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:270:34: ( fuzzy )? if ( stream_fuzzy.hasNext() ) { adaptor.addChild(root_1, stream_fuzzy.nextTree()); @@ -1525,9 +1520,9 @@ public class FTSParser extends Parser { } break; case 5 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:273:8: ftsFieldGroupProximity + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:271:8: ftsFieldGroupProximity { - pushFollow(FOLLOW_ftsFieldGroupProximity_in_ftsTest776); + pushFollow(FOLLOW_ftsFieldGroupProximity_in_ftsTest770); ftsFieldGroupProximity35=ftsFieldGroupProximity(); state._fsp--; @@ -1547,9 +1542,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 274:10: -> ^( PROXIMITY ftsFieldGroupProximity ) + // 272:10: -> ^( PROXIMITY ftsFieldGroupProximity ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:274:13: ^( PROXIMITY ftsFieldGroupProximity ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:272:13: ^( PROXIMITY ftsFieldGroupProximity ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(PROXIMITY, "PROXIMITY"), root_1); @@ -1565,9 +1560,9 @@ public class FTSParser extends Parser { } break; case 6 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:275:9: ftsRange + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:273:9: ftsRange { - pushFollow(FOLLOW_ftsRange_in_ftsTest804); + pushFollow(FOLLOW_ftsRange_in_ftsTest798); ftsRange36=ftsRange(); state._fsp--; @@ -1587,9 +1582,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 276:10: -> ^( RANGE ftsRange ) + // 274:10: -> ^( RANGE ftsRange ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:276:13: ^( RANGE ftsRange ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:274:13: ^( RANGE ftsRange ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(RANGE, "RANGE"), root_1); @@ -1605,9 +1600,9 @@ public class FTSParser extends Parser { } break; case 7 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:277:8: ftsFieldGroup + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:275:8: ftsFieldGroup { - pushFollow(FOLLOW_ftsFieldGroup_in_ftsTest831); + pushFollow(FOLLOW_ftsFieldGroup_in_ftsTest825); ftsFieldGroup37=ftsFieldGroup(); state._fsp--; @@ -1627,7 +1622,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 278:7: -> ftsFieldGroup + // 276:7: -> ftsFieldGroup { adaptor.addChild(root_0, stream_ftsFieldGroup.nextTree()); @@ -1637,18 +1632,18 @@ public class FTSParser extends Parser { } break; case 8 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:279:4: LPAREN ftsImplicitConjunctionOrDisjunction RPAREN + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:277:4: LPAREN ftsImplicitConjunctionOrDisjunction RPAREN { - LPAREN38=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_ftsTest848); if (state.failed) return retval; + LPAREN38=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_ftsTest842); if (state.failed) return retval; if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN38); - pushFollow(FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsTest850); + pushFollow(FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsTest844); ftsImplicitConjunctionOrDisjunction39=ftsImplicitConjunctionOrDisjunction(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) stream_ftsImplicitConjunctionOrDisjunction.add(ftsImplicitConjunctionOrDisjunction39.getTree()); - RPAREN40=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_ftsTest852); if (state.failed) return retval; + RPAREN40=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_ftsTest846); if (state.failed) return retval; if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN40); @@ -1665,44 +1660,12 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 280:3: -> ftsImplicitConjunctionOrDisjunction + // 278:3: -> ftsImplicitConjunctionOrDisjunction { adaptor.addChild(root_0, stream_ftsImplicitConjunctionOrDisjunction.nextTree()); } - retval.tree = root_0;} - } - break; - case 9 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:281:4: template - { - pushFollow(FOLLOW_template_in_ftsTest863); - template41=template(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_template.add(template41.getTree()); - - - // AST REWRITE - // elements: template - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 282:5: -> template - { - adaptor.addChild(root_0, stream_template.nextTree()); - - } - retval.tree = root_0;} } break; @@ -1727,272 +1690,39 @@ public class FTSParser extends Parser { } // $ANTLR end "ftsTest" - public static class template_return extends ParserRuleReturnScope { - Object tree; - public Object getTree() { return tree; } - }; - - // $ANTLR start "template" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:285:1: template : ( PERCENT tempReference -> ^( TEMPLATE tempReference ) | PERCENT LPAREN ( tempReference ( COMMA )? )+ RPAREN -> ^( TEMPLATE ( tempReference )+ ) ); - public final FTSParser.template_return template() throws RecognitionException { - FTSParser.template_return retval = new FTSParser.template_return(); - retval.start = input.LT(1); - - Object root_0 = null; - - Token PERCENT42=null; - Token PERCENT44=null; - Token LPAREN45=null; - Token COMMA47=null; - Token RPAREN48=null; - FTSParser.tempReference_return tempReference43 = null; - - FTSParser.tempReference_return tempReference46 = null; - - - Object PERCENT42_tree=null; - Object PERCENT44_tree=null; - Object LPAREN45_tree=null; - Object COMMA47_tree=null; - Object RPAREN48_tree=null; - RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); - RewriteRuleTokenStream stream_PERCENT=new RewriteRuleTokenStream(adaptor,"token PERCENT"); - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); - RewriteRuleSubtreeStream stream_tempReference=new RewriteRuleSubtreeStream(adaptor,"rule tempReference"); - try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:286:2: ( PERCENT tempReference -> ^( TEMPLATE tempReference ) | PERCENT LPAREN ( tempReference ( COMMA )? )+ RPAREN -> ^( TEMPLATE ( tempReference )+ ) ) - int alt19=2; - int LA19_0 = input.LA(1); - - if ( (LA19_0==PERCENT) ) { - int LA19_1 = input.LA(2); - - if ( (LA19_1==LPAREN) ) { - alt19=2; - } - else if ( ((LA19_1>=AT && LA19_1<=ID)) ) { - alt19=1; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 19, 1, input); - - throw nvae; - } - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - - throw nvae; - } - switch (alt19) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:286:4: PERCENT tempReference - { - PERCENT42=(Token)match(input,PERCENT,FOLLOW_PERCENT_in_template882); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_PERCENT.add(PERCENT42); - - pushFollow(FOLLOW_tempReference_in_template884); - tempReference43=tempReference(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_tempReference.add(tempReference43.getTree()); - - - // AST REWRITE - // elements: tempReference - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 287:3: -> ^( TEMPLATE tempReference ) - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:287:6: ^( TEMPLATE tempReference ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TEMPLATE, "TEMPLATE"), root_1); - - adaptor.addChild(root_1, stream_tempReference.nextTree()); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0;} - } - break; - case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:4: PERCENT LPAREN ( tempReference ( COMMA )? )+ RPAREN - { - PERCENT44=(Token)match(input,PERCENT,FOLLOW_PERCENT_in_template899); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_PERCENT.add(PERCENT44); - - LPAREN45=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_template901); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN45); - - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:19: ( tempReference ( COMMA )? )+ - int cnt18=0; - loop18: - do { - int alt18=2; - int LA18_0 = input.LA(1); - - if ( ((LA18_0>=AT && LA18_0<=ID)) ) { - alt18=1; - } - - - switch (alt18) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:20: tempReference ( COMMA )? - { - pushFollow(FOLLOW_tempReference_in_template904); - tempReference46=tempReference(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_tempReference.add(tempReference46.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:34: ( COMMA )? - int alt17=2; - int LA17_0 = input.LA(1); - - if ( (LA17_0==COMMA) ) { - alt17=1; - } - switch (alt17) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:34: COMMA - { - COMMA47=(Token)match(input,COMMA,FOLLOW_COMMA_in_template906); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(COMMA47); - - - } - break; - - } - - - } - break; - - default : - if ( cnt18 >= 1 ) break loop18; - if (state.backtracking>0) {state.failed=true; return retval;} - EarlyExitException eee = - new EarlyExitException(18, input); - throw eee; - } - cnt18++; - } while (true); - - RPAREN48=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_template911); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN48); - - - - // AST REWRITE - // elements: tempReference - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 289:3: -> ^( TEMPLATE ( tempReference )+ ) - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:289:6: ^( TEMPLATE ( tempReference )+ ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TEMPLATE, "TEMPLATE"), root_1); - - if ( !(stream_tempReference.hasNext()) ) { - throw new RewriteEarlyExitException(); - } - while ( stream_tempReference.hasNext() ) { - adaptor.addChild(root_1, stream_tempReference.nextTree()); - - } - stream_tempReference.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0;} - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - - catch(RecognitionException e) - { - throw e; - } - finally { - } - return retval; - } - // $ANTLR end "template" - public static class fuzzy_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "fuzzy" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:294:1: fuzzy : TILDA number -> ^( FUZZY number ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:282:1: fuzzy : TILDA number -> ^( FUZZY number ) ; public final FTSParser.fuzzy_return fuzzy() throws RecognitionException { FTSParser.fuzzy_return retval = new FTSParser.fuzzy_return(); retval.start = input.LT(1); Object root_0 = null; - Token TILDA49=null; - FTSParser.number_return number50 = null; + Token TILDA41=null; + FTSParser.number_return number42 = null; - Object TILDA49_tree=null; + Object TILDA41_tree=null; RewriteRuleTokenStream stream_TILDA=new RewriteRuleTokenStream(adaptor,"token TILDA"); RewriteRuleSubtreeStream stream_number=new RewriteRuleSubtreeStream(adaptor,"rule number"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:295:2: ( TILDA number -> ^( FUZZY number ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:295:5: TILDA number + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:283:2: ( TILDA number -> ^( FUZZY number ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:283:5: TILDA number { - TILDA49=(Token)match(input,TILDA,FOLLOW_TILDA_in_fuzzy938); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_TILDA.add(TILDA49); + TILDA41=(Token)match(input,TILDA,FOLLOW_TILDA_in_fuzzy866); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TILDA.add(TILDA41); - pushFollow(FOLLOW_number_in_fuzzy940); - number50=number(); + pushFollow(FOLLOW_number_in_fuzzy868); + number42=number(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_number.add(number50.getTree()); + if ( state.backtracking==0 ) stream_number.add(number42.getTree()); // AST REWRITE @@ -2007,9 +1737,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 296:3: -> ^( FUZZY number ) + // 284:3: -> ^( FUZZY number ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:296:6: ^( FUZZY number ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:284:6: ^( FUZZY number ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FUZZY, "FUZZY"), root_1); @@ -2049,30 +1779,30 @@ public class FTSParser extends Parser { }; // $ANTLR start "slop" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:299:1: slop : TILDA DECIMAL_INTEGER_LITERAL -> ^( FUZZY DECIMAL_INTEGER_LITERAL ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:287:1: slop : TILDA DECIMAL_INTEGER_LITERAL -> ^( FUZZY DECIMAL_INTEGER_LITERAL ) ; public final FTSParser.slop_return slop() throws RecognitionException { FTSParser.slop_return retval = new FTSParser.slop_return(); retval.start = input.LT(1); Object root_0 = null; - Token TILDA51=null; - Token DECIMAL_INTEGER_LITERAL52=null; + Token TILDA43=null; + Token DECIMAL_INTEGER_LITERAL44=null; - Object TILDA51_tree=null; - Object DECIMAL_INTEGER_LITERAL52_tree=null; + Object TILDA43_tree=null; + Object DECIMAL_INTEGER_LITERAL44_tree=null; RewriteRuleTokenStream stream_TILDA=new RewriteRuleTokenStream(adaptor,"token TILDA"); RewriteRuleTokenStream stream_DECIMAL_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token DECIMAL_INTEGER_LITERAL"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:300:2: ( TILDA DECIMAL_INTEGER_LITERAL -> ^( FUZZY DECIMAL_INTEGER_LITERAL ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:300:5: TILDA DECIMAL_INTEGER_LITERAL + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:2: ( TILDA DECIMAL_INTEGER_LITERAL -> ^( FUZZY DECIMAL_INTEGER_LITERAL ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:288:5: TILDA DECIMAL_INTEGER_LITERAL { - TILDA51=(Token)match(input,TILDA,FOLLOW_TILDA_in_slop963); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_TILDA.add(TILDA51); + TILDA43=(Token)match(input,TILDA,FOLLOW_TILDA_in_slop891); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TILDA.add(TILDA43); - DECIMAL_INTEGER_LITERAL52=(Token)match(input,DECIMAL_INTEGER_LITERAL,FOLLOW_DECIMAL_INTEGER_LITERAL_in_slop965); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_DECIMAL_INTEGER_LITERAL.add(DECIMAL_INTEGER_LITERAL52); + DECIMAL_INTEGER_LITERAL44=(Token)match(input,DECIMAL_INTEGER_LITERAL,FOLLOW_DECIMAL_INTEGER_LITERAL_in_slop893); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_DECIMAL_INTEGER_LITERAL.add(DECIMAL_INTEGER_LITERAL44); @@ -2088,9 +1818,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 301:3: -> ^( FUZZY DECIMAL_INTEGER_LITERAL ) + // 289:3: -> ^( FUZZY DECIMAL_INTEGER_LITERAL ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:301:6: ^( FUZZY DECIMAL_INTEGER_LITERAL ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:289:6: ^( FUZZY DECIMAL_INTEGER_LITERAL ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FUZZY, "FUZZY"), root_1); @@ -2130,33 +1860,33 @@ public class FTSParser extends Parser { }; // $ANTLR start "boost" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:304:1: boost : CARAT number -> ^( BOOST number ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:292:1: boost : CARAT number -> ^( BOOST number ) ; public final FTSParser.boost_return boost() throws RecognitionException { FTSParser.boost_return retval = new FTSParser.boost_return(); retval.start = input.LT(1); Object root_0 = null; - Token CARAT53=null; - FTSParser.number_return number54 = null; + Token CARAT45=null; + FTSParser.number_return number46 = null; - Object CARAT53_tree=null; + Object CARAT45_tree=null; RewriteRuleTokenStream stream_CARAT=new RewriteRuleTokenStream(adaptor,"token CARAT"); RewriteRuleSubtreeStream stream_number=new RewriteRuleSubtreeStream(adaptor,"rule number"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:305:2: ( CARAT number -> ^( BOOST number ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:305:5: CARAT number + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:293:2: ( CARAT number -> ^( BOOST number ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:293:5: CARAT number { - CARAT53=(Token)match(input,CARAT,FOLLOW_CARAT_in_boost987); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CARAT.add(CARAT53); + CARAT45=(Token)match(input,CARAT,FOLLOW_CARAT_in_boost915); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CARAT.add(CARAT45); - pushFollow(FOLLOW_number_in_boost989); - number54=number(); + pushFollow(FOLLOW_number_in_boost917); + number46=number(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_number.add(number54.getTree()); + if ( state.backtracking==0 ) stream_number.add(number46.getTree()); // AST REWRITE @@ -2171,9 +1901,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 306:3: -> ^( BOOST number ) + // 294:3: -> ^( BOOST number ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:306:6: ^( BOOST number ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:294:6: ^( BOOST number ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(BOOST, "BOOST"), root_1); @@ -2213,53 +1943,53 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsTerm" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:309:1: ftsTerm : ( fieldReference COLON )? ftsWord -> ftsWord ( fieldReference )? ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:297:1: ftsTerm : ( fieldReference COLON )? ftsWord -> ftsWord ( fieldReference )? ; public final FTSParser.ftsTerm_return ftsTerm() throws RecognitionException { FTSParser.ftsTerm_return retval = new FTSParser.ftsTerm_return(); retval.start = input.LT(1); Object root_0 = null; - Token COLON56=null; - FTSParser.fieldReference_return fieldReference55 = null; + Token COLON48=null; + FTSParser.fieldReference_return fieldReference47 = null; - FTSParser.ftsWord_return ftsWord57 = null; + FTSParser.ftsWord_return ftsWord49 = null; - Object COLON56_tree=null; + Object COLON48_tree=null; RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); RewriteRuleSubtreeStream stream_ftsWord=new RewriteRuleSubtreeStream(adaptor,"rule ftsWord"); RewriteRuleSubtreeStream stream_fieldReference=new RewriteRuleSubtreeStream(adaptor,"rule fieldReference"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:310:2: ( ( fieldReference COLON )? ftsWord -> ftsWord ( fieldReference )? ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:310:4: ( fieldReference COLON )? ftsWord + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:298:2: ( ( fieldReference COLON )? ftsWord -> ftsWord ( fieldReference )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:298:4: ( fieldReference COLON )? ftsWord { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:310:4: ( fieldReference COLON )? - int alt20=2; - int LA20_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:298:4: ( fieldReference COLON )? + int alt17=2; + int LA17_0 = input.LA(1); - if ( ((LA20_0>=AT && LA20_0<=URI)) ) { - alt20=1; + if ( ((LA17_0>=AT && LA17_0<=URI)) ) { + alt17=1; } - else if ( (LA20_0==ID) ) { - int LA20_2 = input.LA(2); + else if ( (LA17_0==ID) ) { + int LA17_2 = input.LA(2); - if ( (LA20_2==COLON) ) { - alt20=1; + if ( (LA17_2==COLON) ) { + alt17=1; } } - switch (alt20) { + switch (alt17) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:310:5: fieldReference COLON + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:298:5: fieldReference COLON { - pushFollow(FOLLOW_fieldReference_in_ftsTerm1011); - fieldReference55=fieldReference(); + pushFollow(FOLLOW_fieldReference_in_ftsTerm939); + fieldReference47=fieldReference(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference55.getTree()); - COLON56=(Token)match(input,COLON,FOLLOW_COLON_in_ftsTerm1013); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(COLON56); + if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference47.getTree()); + COLON48=(Token)match(input,COLON,FOLLOW_COLON_in_ftsTerm941); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(COLON48); } @@ -2267,16 +1997,16 @@ public class FTSParser extends Parser { } - pushFollow(FOLLOW_ftsWord_in_ftsTerm1017); - ftsWord57=ftsWord(); + pushFollow(FOLLOW_ftsWord_in_ftsTerm945); + ftsWord49=ftsWord(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsWord.add(ftsWord57.getTree()); + if ( state.backtracking==0 ) stream_ftsWord.add(ftsWord49.getTree()); // AST REWRITE - // elements: ftsWord, fieldReference + // elements: fieldReference, ftsWord // token labels: // rule labels: retval // token list labels: @@ -2287,10 +2017,10 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 311:3: -> ftsWord ( fieldReference )? + // 299:3: -> ftsWord ( fieldReference )? { adaptor.addChild(root_0, stream_ftsWord.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:311:14: ( fieldReference )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:299:14: ( fieldReference )? if ( stream_fieldReference.hasNext() ) { adaptor.addChild(root_0, stream_fieldReference.nextTree()); @@ -2327,33 +2057,33 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsExactTerm" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:314:1: ftsExactTerm : EQUALS ftsTerm -> ftsTerm ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:302:1: ftsExactTerm : EQUALS ftsTerm -> ftsTerm ; public final FTSParser.ftsExactTerm_return ftsExactTerm() throws RecognitionException { FTSParser.ftsExactTerm_return retval = new FTSParser.ftsExactTerm_return(); retval.start = input.LT(1); Object root_0 = null; - Token EQUALS58=null; - FTSParser.ftsTerm_return ftsTerm59 = null; + Token EQUALS50=null; + FTSParser.ftsTerm_return ftsTerm51 = null; - Object EQUALS58_tree=null; + Object EQUALS50_tree=null; RewriteRuleTokenStream stream_EQUALS=new RewriteRuleTokenStream(adaptor,"token EQUALS"); RewriteRuleSubtreeStream stream_ftsTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsTerm"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:315:2: ( EQUALS ftsTerm -> ftsTerm ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:315:4: EQUALS ftsTerm + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:303:2: ( EQUALS ftsTerm -> ftsTerm ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:303:4: EQUALS ftsTerm { - EQUALS58=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_ftsExactTerm1038); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_EQUALS.add(EQUALS58); + EQUALS50=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_ftsExactTerm966); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_EQUALS.add(EQUALS50); - pushFollow(FOLLOW_ftsTerm_in_ftsExactTerm1040); - ftsTerm59=ftsTerm(); + pushFollow(FOLLOW_ftsTerm_in_ftsExactTerm968); + ftsTerm51=ftsTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsTerm.add(ftsTerm59.getTree()); + if ( state.backtracking==0 ) stream_ftsTerm.add(ftsTerm51.getTree()); // AST REWRITE @@ -2368,7 +2098,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 316:3: -> ftsTerm + // 304:3: -> ftsTerm { adaptor.addChild(root_0, stream_ftsTerm.nextTree()); @@ -2402,46 +2132,46 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsPhrase" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:319:1: ftsPhrase : ( fieldReference COLON )? FTSPHRASE -> FTSPHRASE ( fieldReference )? ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:307:1: ftsPhrase : ( fieldReference COLON )? FTSPHRASE -> FTSPHRASE ( fieldReference )? ; public final FTSParser.ftsPhrase_return ftsPhrase() throws RecognitionException { FTSParser.ftsPhrase_return retval = new FTSParser.ftsPhrase_return(); retval.start = input.LT(1); Object root_0 = null; - Token COLON61=null; - Token FTSPHRASE62=null; - FTSParser.fieldReference_return fieldReference60 = null; + Token COLON53=null; + Token FTSPHRASE54=null; + FTSParser.fieldReference_return fieldReference52 = null; - Object COLON61_tree=null; - Object FTSPHRASE62_tree=null; + Object COLON53_tree=null; + Object FTSPHRASE54_tree=null; RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); RewriteRuleTokenStream stream_FTSPHRASE=new RewriteRuleTokenStream(adaptor,"token FTSPHRASE"); RewriteRuleSubtreeStream stream_fieldReference=new RewriteRuleSubtreeStream(adaptor,"rule fieldReference"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:320:2: ( ( fieldReference COLON )? FTSPHRASE -> FTSPHRASE ( fieldReference )? ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:320:6: ( fieldReference COLON )? FTSPHRASE + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:308:2: ( ( fieldReference COLON )? FTSPHRASE -> FTSPHRASE ( fieldReference )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:308:6: ( fieldReference COLON )? FTSPHRASE { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:320:6: ( fieldReference COLON )? - int alt21=2; - int LA21_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:308:6: ( fieldReference COLON )? + int alt18=2; + int LA18_0 = input.LA(1); - if ( ((LA21_0>=AT && LA21_0<=ID)) ) { - alt21=1; + if ( ((LA18_0>=AT && LA18_0<=ID)) ) { + alt18=1; } - switch (alt21) { + switch (alt18) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:320:7: fieldReference COLON + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:308:7: fieldReference COLON { - pushFollow(FOLLOW_fieldReference_in_ftsPhrase1061); - fieldReference60=fieldReference(); + pushFollow(FOLLOW_fieldReference_in_ftsPhrase989); + fieldReference52=fieldReference(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference60.getTree()); - COLON61=(Token)match(input,COLON,FOLLOW_COLON_in_ftsPhrase1063); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(COLON61); + if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference52.getTree()); + COLON53=(Token)match(input,COLON,FOLLOW_COLON_in_ftsPhrase991); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(COLON53); } @@ -2449,13 +2179,13 @@ public class FTSParser extends Parser { } - FTSPHRASE62=(Token)match(input,FTSPHRASE,FOLLOW_FTSPHRASE_in_ftsPhrase1067); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_FTSPHRASE.add(FTSPHRASE62); + FTSPHRASE54=(Token)match(input,FTSPHRASE,FOLLOW_FTSPHRASE_in_ftsPhrase995); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_FTSPHRASE.add(FTSPHRASE54); // AST REWRITE - // elements: FTSPHRASE, fieldReference + // elements: fieldReference, FTSPHRASE // token labels: // rule labels: retval // token list labels: @@ -2466,10 +2196,10 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 321:3: -> FTSPHRASE ( fieldReference )? + // 309:3: -> FTSPHRASE ( fieldReference )? { adaptor.addChild(root_0, stream_FTSPHRASE.nextNode()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:321:16: ( fieldReference )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:309:16: ( fieldReference )? if ( stream_fieldReference.hasNext() ) { adaptor.addChild(root_0, stream_fieldReference.nextTree()); @@ -2506,33 +2236,33 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsSynonym" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:324:1: ftsSynonym : TILDA ftsTerm -> ftsTerm ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:312:1: ftsSynonym : TILDA ftsTerm -> ftsTerm ; public final FTSParser.ftsSynonym_return ftsSynonym() throws RecognitionException { FTSParser.ftsSynonym_return retval = new FTSParser.ftsSynonym_return(); retval.start = input.LT(1); Object root_0 = null; - Token TILDA63=null; - FTSParser.ftsTerm_return ftsTerm64 = null; + Token TILDA55=null; + FTSParser.ftsTerm_return ftsTerm56 = null; - Object TILDA63_tree=null; + Object TILDA55_tree=null; RewriteRuleTokenStream stream_TILDA=new RewriteRuleTokenStream(adaptor,"token TILDA"); RewriteRuleSubtreeStream stream_ftsTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsTerm"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:325:2: ( TILDA ftsTerm -> ftsTerm ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:325:4: TILDA ftsTerm + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:313:2: ( TILDA ftsTerm -> ftsTerm ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:313:4: TILDA ftsTerm { - TILDA63=(Token)match(input,TILDA,FOLLOW_TILDA_in_ftsSynonym1088); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_TILDA.add(TILDA63); + TILDA55=(Token)match(input,TILDA,FOLLOW_TILDA_in_ftsSynonym1016); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TILDA.add(TILDA55); - pushFollow(FOLLOW_ftsTerm_in_ftsSynonym1090); - ftsTerm64=ftsTerm(); + pushFollow(FOLLOW_ftsTerm_in_ftsSynonym1018); + ftsTerm56=ftsTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsTerm.add(ftsTerm64.getTree()); + if ( state.backtracking==0 ) stream_ftsTerm.add(ftsTerm56.getTree()); // AST REWRITE @@ -2547,7 +2277,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 326:3: -> ftsTerm + // 314:3: -> ftsTerm { adaptor.addChild(root_0, stream_ftsTerm.nextTree()); @@ -2581,53 +2311,53 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsRange" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:329:1: ftsRange : ( fieldReference COLON )? ftsFieldGroupRange -> ftsFieldGroupRange ( fieldReference )? ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:317:1: ftsRange : ( fieldReference COLON )? ftsFieldGroupRange -> ftsFieldGroupRange ( fieldReference )? ; public final FTSParser.ftsRange_return ftsRange() throws RecognitionException { FTSParser.ftsRange_return retval = new FTSParser.ftsRange_return(); retval.start = input.LT(1); Object root_0 = null; - Token COLON66=null; - FTSParser.fieldReference_return fieldReference65 = null; + Token COLON58=null; + FTSParser.fieldReference_return fieldReference57 = null; - FTSParser.ftsFieldGroupRange_return ftsFieldGroupRange67 = null; + FTSParser.ftsFieldGroupRange_return ftsFieldGroupRange59 = null; - Object COLON66_tree=null; + Object COLON58_tree=null; RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); RewriteRuleSubtreeStream stream_ftsFieldGroupRange=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupRange"); RewriteRuleSubtreeStream stream_fieldReference=new RewriteRuleSubtreeStream(adaptor,"rule fieldReference"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:2: ( ( fieldReference COLON )? ftsFieldGroupRange -> ftsFieldGroupRange ( fieldReference )? ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:5: ( fieldReference COLON )? ftsFieldGroupRange + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:318:2: ( ( fieldReference COLON )? ftsFieldGroupRange -> ftsFieldGroupRange ( fieldReference )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:318:5: ( fieldReference COLON )? ftsFieldGroupRange { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:5: ( fieldReference COLON )? - int alt22=2; - int LA22_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:318:5: ( fieldReference COLON )? + int alt19=2; + int LA19_0 = input.LA(1); - if ( ((LA22_0>=AT && LA22_0<=URI)) ) { - alt22=1; + if ( ((LA19_0>=AT && LA19_0<=URI)) ) { + alt19=1; } - else if ( (LA22_0==ID) ) { - int LA22_2 = input.LA(2); + else if ( (LA19_0==ID) ) { + int LA19_2 = input.LA(2); - if ( (LA22_2==COLON) ) { - alt22=1; + if ( (LA19_2==COLON) ) { + alt19=1; } } - switch (alt22) { + switch (alt19) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:6: fieldReference COLON + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:318:6: fieldReference COLON { - pushFollow(FOLLOW_fieldReference_in_ftsRange1110); - fieldReference65=fieldReference(); + pushFollow(FOLLOW_fieldReference_in_ftsRange1038); + fieldReference57=fieldReference(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference65.getTree()); - COLON66=(Token)match(input,COLON,FOLLOW_COLON_in_ftsRange1112); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(COLON66); + if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference57.getTree()); + COLON58=(Token)match(input,COLON,FOLLOW_COLON_in_ftsRange1040); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(COLON58); } @@ -2635,12 +2365,12 @@ public class FTSParser extends Parser { } - pushFollow(FOLLOW_ftsFieldGroupRange_in_ftsRange1116); - ftsFieldGroupRange67=ftsFieldGroupRange(); + pushFollow(FOLLOW_ftsFieldGroupRange_in_ftsRange1044); + ftsFieldGroupRange59=ftsFieldGroupRange(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupRange.add(ftsFieldGroupRange67.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupRange.add(ftsFieldGroupRange59.getTree()); // AST REWRITE @@ -2655,10 +2385,10 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 331:5: -> ftsFieldGroupRange ( fieldReference )? + // 319:5: -> ftsFieldGroupRange ( fieldReference )? { adaptor.addChild(root_0, stream_ftsFieldGroupRange.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:331:27: ( fieldReference )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:319:27: ( fieldReference )? if ( stream_fieldReference.hasNext() ) { adaptor.addChild(root_0, stream_fieldReference.nextTree()); @@ -2695,58 +2425,58 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroup" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:334:1: ftsFieldGroup : fieldReference COLON LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:322:1: ftsFieldGroup : fieldReference COLON LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) ; public final FTSParser.ftsFieldGroup_return ftsFieldGroup() throws RecognitionException { FTSParser.ftsFieldGroup_return retval = new FTSParser.ftsFieldGroup_return(); retval.start = input.LT(1); Object root_0 = null; - Token COLON69=null; - Token LPAREN70=null; - Token RPAREN72=null; - FTSParser.fieldReference_return fieldReference68 = null; + Token COLON61=null; + Token LPAREN62=null; + Token RPAREN64=null; + FTSParser.fieldReference_return fieldReference60 = null; - FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return ftsFieldGroupImplicitConjunctionOrDisjunction71 = null; + FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return ftsFieldGroupImplicitConjunctionOrDisjunction63 = null; - Object COLON69_tree=null; - Object LPAREN70_tree=null; - Object RPAREN72_tree=null; + Object COLON61_tree=null; + Object LPAREN62_tree=null; + Object RPAREN64_tree=null; RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); RewriteRuleSubtreeStream stream_ftsFieldGroupImplicitConjunctionOrDisjunction=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupImplicitConjunctionOrDisjunction"); RewriteRuleSubtreeStream stream_fieldReference=new RewriteRuleSubtreeStream(adaptor,"rule fieldReference"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:2: ( fieldReference COLON LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:4: fieldReference COLON LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:323:2: ( fieldReference COLON LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:323:4: fieldReference COLON LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN { - pushFollow(FOLLOW_fieldReference_in_ftsFieldGroup1139); - fieldReference68=fieldReference(); + pushFollow(FOLLOW_fieldReference_in_ftsFieldGroup1067); + fieldReference60=fieldReference(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference68.getTree()); - COLON69=(Token)match(input,COLON,FOLLOW_COLON_in_ftsFieldGroup1141); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(COLON69); + if ( state.backtracking==0 ) stream_fieldReference.add(fieldReference60.getTree()); + COLON61=(Token)match(input,COLON,FOLLOW_COLON_in_ftsFieldGroup1069); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(COLON61); - LPAREN70=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_ftsFieldGroup1143); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN70); + LPAREN62=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_ftsFieldGroup1071); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN62); - pushFollow(FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroup1145); - ftsFieldGroupImplicitConjunctionOrDisjunction71=ftsFieldGroupImplicitConjunctionOrDisjunction(); + pushFollow(FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroup1073); + ftsFieldGroupImplicitConjunctionOrDisjunction63=ftsFieldGroupImplicitConjunctionOrDisjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupImplicitConjunctionOrDisjunction.add(ftsFieldGroupImplicitConjunctionOrDisjunction71.getTree()); - RPAREN72=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_ftsFieldGroup1147); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN72); + if ( state.backtracking==0 ) stream_ftsFieldGroupImplicitConjunctionOrDisjunction.add(ftsFieldGroupImplicitConjunctionOrDisjunction63.getTree()); + RPAREN64=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_ftsFieldGroup1075); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN64); // AST REWRITE - // elements: ftsFieldGroupImplicitConjunctionOrDisjunction, fieldReference + // elements: fieldReference, ftsFieldGroupImplicitConjunctionOrDisjunction // token labels: // rule labels: retval // token list labels: @@ -2757,9 +2487,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 336:3: -> ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) + // 324:3: -> ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:336:6: ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:324:6: ^( FIELD_GROUP fieldReference ftsFieldGroupImplicitConjunctionOrDisjunction ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_GROUP, "FIELD_GROUP"), root_1); @@ -2800,68 +2530,68 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupImplicitConjunctionOrDisjunction" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:339:1: ftsFieldGroupImplicitConjunctionOrDisjunction : ({...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) | ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:327:1: ftsFieldGroupImplicitConjunctionOrDisjunction : ({...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) | ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) ); public final FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return ftsFieldGroupImplicitConjunctionOrDisjunction() throws RecognitionException { FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return retval = new FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return(); retval.start = input.LT(1); Object root_0 = null; - FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction73 = null; + FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction65 = null; - FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction74 = null; + FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction66 = null; - FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction75 = null; + FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction67 = null; - FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction76 = null; + FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction68 = null; RewriteRuleSubtreeStream stream_ftsFieldGroupExplicitDisjunction=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupExplicitDisjunction"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:2: ({...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) | ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) ) - int alt25=2; - alt25 = dfa25.predict(input); - switch (alt25) { + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:328:2: ({...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) | ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) ) + int alt22=2; + alt22 = dfa22.predict(input); + switch (alt22) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:4: {...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:328:4: {...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* { if ( !((defaultFieldConjunction())) ) { if (state.backtracking>0) {state.failed=true; return retval;} throw new FailedPredicateException(input, "ftsFieldGroupImplicitConjunctionOrDisjunction", "defaultFieldConjunction()"); } - pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1173); - ftsFieldGroupExplicitDisjunction73=ftsFieldGroupExplicitDisjunction(); + pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1101); + ftsFieldGroupExplicitDisjunction65=ftsFieldGroupExplicitDisjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction73.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:66: ( ftsFieldGroupExplicitDisjunction )* - loop23: + if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction65.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:328:66: ( ftsFieldGroupExplicitDisjunction )* + loop20: do { - int alt23=2; - int LA23_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( ((LA23_0>=PLUS && LA23_0<=LPAREN)||(LA23_0>=TILDA && LA23_0<=DECIMAL_INTEGER_LITERAL)||(LA23_0>=EQUALS && LA23_0<=FTSPHRASE)||(LA23_0>=TO && LA23_0<=LT)||(LA23_0>=ID && LA23_0<=FLOATING_POINT_LITERAL)||LA23_0==EXCLAMATION) ) { - alt23=1; + if ( ((LA20_0>=PLUS && LA20_0<=LPAREN)||(LA20_0>=TILDA && LA20_0<=DECIMAL_INTEGER_LITERAL)||(LA20_0>=EQUALS && LA20_0<=FTSPHRASE)||(LA20_0>=TO && LA20_0<=LT)||(LA20_0>=ID && LA20_0<=FLOATING_POINT_LITERAL)||LA20_0==EXCLAMATION) ) { + alt20=1; } - switch (alt23) { + switch (alt20) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:67: ftsFieldGroupExplicitDisjunction + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:328:67: ftsFieldGroupExplicitDisjunction { - pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1176); - ftsFieldGroupExplicitDisjunction74=ftsFieldGroupExplicitDisjunction(); + pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1104); + ftsFieldGroupExplicitDisjunction66=ftsFieldGroupExplicitDisjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction74.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction66.getTree()); } break; default : - break loop23; + break loop20; } } while (true); @@ -2879,9 +2609,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 341:3: -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) + // 329:3: -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:341:6: ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:329:6: ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_CONJUNCTION, "FIELD_CONJUNCTION"), root_1); @@ -2904,41 +2634,41 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:342:4: ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:4: ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* { - pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1194); - ftsFieldGroupExplicitDisjunction75=ftsFieldGroupExplicitDisjunction(); + pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1122); + ftsFieldGroupExplicitDisjunction67=ftsFieldGroupExplicitDisjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction75.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:342:37: ( ftsFieldGroupExplicitDisjunction )* - loop24: + if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction67.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:37: ( ftsFieldGroupExplicitDisjunction )* + loop21: do { - int alt24=2; - int LA24_0 = input.LA(1); + int alt21=2; + int LA21_0 = input.LA(1); - if ( ((LA24_0>=PLUS && LA24_0<=LPAREN)||(LA24_0>=TILDA && LA24_0<=DECIMAL_INTEGER_LITERAL)||(LA24_0>=EQUALS && LA24_0<=FTSPHRASE)||(LA24_0>=TO && LA24_0<=LT)||(LA24_0>=ID && LA24_0<=FLOATING_POINT_LITERAL)||LA24_0==EXCLAMATION) ) { - alt24=1; + if ( ((LA21_0>=PLUS && LA21_0<=LPAREN)||(LA21_0>=TILDA && LA21_0<=DECIMAL_INTEGER_LITERAL)||(LA21_0>=EQUALS && LA21_0<=FTSPHRASE)||(LA21_0>=TO && LA21_0<=LT)||(LA21_0>=ID && LA21_0<=FLOATING_POINT_LITERAL)||LA21_0==EXCLAMATION) ) { + alt21=1; } - switch (alt24) { + switch (alt21) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:342:38: ftsFieldGroupExplicitDisjunction + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:330:38: ftsFieldGroupExplicitDisjunction { - pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1197); - ftsFieldGroupExplicitDisjunction76=ftsFieldGroupExplicitDisjunction(); + pushFollow(FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1125); + ftsFieldGroupExplicitDisjunction68=ftsFieldGroupExplicitDisjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction76.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupExplicitDisjunction.add(ftsFieldGroupExplicitDisjunction68.getTree()); } break; default : - break loop24; + break loop21; } } while (true); @@ -2956,9 +2686,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 343:3: -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) + // 331:3: -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:343:6: ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:331:6: ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_DISJUNCTION, "FIELD_DISJUNCTION"), root_1); @@ -3007,59 +2737,59 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupExplicitDisjunction" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:1: ftsFieldGroupExplicitDisjunction : ftsFieldGroupExplictConjunction ( ( or )=> or ftsFieldGroupExplictConjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:334:1: ftsFieldGroupExplicitDisjunction : ftsFieldGroupExplictConjunction ( ( or )=> or ftsFieldGroupExplictConjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) ; public final FTSParser.ftsFieldGroupExplicitDisjunction_return ftsFieldGroupExplicitDisjunction() throws RecognitionException { FTSParser.ftsFieldGroupExplicitDisjunction_return retval = new FTSParser.ftsFieldGroupExplicitDisjunction_return(); retval.start = input.LT(1); Object root_0 = null; - FTSParser.ftsFieldGroupExplictConjunction_return ftsFieldGroupExplictConjunction77 = null; + FTSParser.ftsFieldGroupExplictConjunction_return ftsFieldGroupExplictConjunction69 = null; - FTSParser.or_return or78 = null; + FTSParser.or_return or70 = null; - FTSParser.ftsFieldGroupExplictConjunction_return ftsFieldGroupExplictConjunction79 = null; + FTSParser.ftsFieldGroupExplictConjunction_return ftsFieldGroupExplictConjunction71 = null; RewriteRuleSubtreeStream stream_ftsFieldGroupExplictConjunction=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupExplictConjunction"); RewriteRuleSubtreeStream stream_or=new RewriteRuleSubtreeStream(adaptor,"rule or"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:2: ( ftsFieldGroupExplictConjunction ( ( or )=> or ftsFieldGroupExplictConjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:4: ftsFieldGroupExplictConjunction ( ( or )=> or ftsFieldGroupExplictConjunction )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:2: ( ftsFieldGroupExplictConjunction ( ( or )=> or ftsFieldGroupExplictConjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:4: ftsFieldGroupExplictConjunction ( ( or )=> or ftsFieldGroupExplictConjunction )* { - pushFollow(FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1222); - ftsFieldGroupExplictConjunction77=ftsFieldGroupExplictConjunction(); + pushFollow(FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1150); + ftsFieldGroupExplictConjunction69=ftsFieldGroupExplictConjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExplictConjunction.add(ftsFieldGroupExplictConjunction77.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:36: ( ( or )=> or ftsFieldGroupExplictConjunction )* - loop26: + if ( state.backtracking==0 ) stream_ftsFieldGroupExplictConjunction.add(ftsFieldGroupExplictConjunction69.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:36: ( ( or )=> or ftsFieldGroupExplictConjunction )* + loop23: do { - int alt26=2; - alt26 = dfa26.predict(input); - switch (alt26) { + int alt23=2; + alt23 = dfa23.predict(input); + switch (alt23) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:37: ( or )=> or ftsFieldGroupExplictConjunction + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:37: ( or )=> or ftsFieldGroupExplictConjunction { - pushFollow(FOLLOW_or_in_ftsFieldGroupExplicitDisjunction1231); - or78=or(); + pushFollow(FOLLOW_or_in_ftsFieldGroupExplicitDisjunction1159); + or70=or(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_or.add(or78.getTree()); - pushFollow(FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1233); - ftsFieldGroupExplictConjunction79=ftsFieldGroupExplictConjunction(); + if ( state.backtracking==0 ) stream_or.add(or70.getTree()); + pushFollow(FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1161); + ftsFieldGroupExplictConjunction71=ftsFieldGroupExplictConjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExplictConjunction.add(ftsFieldGroupExplictConjunction79.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupExplictConjunction.add(ftsFieldGroupExplictConjunction71.getTree()); } break; default : - break loop26; + break loop23; } } while (true); @@ -3077,9 +2807,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 348:3: -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) + // 336:3: -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:348:6: ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:336:6: ^( FIELD_DISJUNCTION ( ftsFieldGroupExplictConjunction )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_DISJUNCTION, "FIELD_DISJUNCTION"), root_1); @@ -3126,59 +2856,59 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupExplictConjunction" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:351:1: ftsFieldGroupExplictConjunction : ftsFieldGroupPrefixed ( ( and )=> and ftsFieldGroupPrefixed )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:339:1: ftsFieldGroupExplictConjunction : ftsFieldGroupPrefixed ( ( and )=> and ftsFieldGroupPrefixed )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) ; public final FTSParser.ftsFieldGroupExplictConjunction_return ftsFieldGroupExplictConjunction() throws RecognitionException { FTSParser.ftsFieldGroupExplictConjunction_return retval = new FTSParser.ftsFieldGroupExplictConjunction_return(); retval.start = input.LT(1); Object root_0 = null; - FTSParser.ftsFieldGroupPrefixed_return ftsFieldGroupPrefixed80 = null; + FTSParser.ftsFieldGroupPrefixed_return ftsFieldGroupPrefixed72 = null; - FTSParser.and_return and81 = null; + FTSParser.and_return and73 = null; - FTSParser.ftsFieldGroupPrefixed_return ftsFieldGroupPrefixed82 = null; + FTSParser.ftsFieldGroupPrefixed_return ftsFieldGroupPrefixed74 = null; RewriteRuleSubtreeStream stream_ftsFieldGroupPrefixed=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupPrefixed"); RewriteRuleSubtreeStream stream_and=new RewriteRuleSubtreeStream(adaptor,"rule and"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:2: ( ftsFieldGroupPrefixed ( ( and )=> and ftsFieldGroupPrefixed )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:4: ftsFieldGroupPrefixed ( ( and )=> and ftsFieldGroupPrefixed )* + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:2: ( ftsFieldGroupPrefixed ( ( and )=> and ftsFieldGroupPrefixed )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:4: ftsFieldGroupPrefixed ( ( and )=> and ftsFieldGroupPrefixed )* { - pushFollow(FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1258); - ftsFieldGroupPrefixed80=ftsFieldGroupPrefixed(); + pushFollow(FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1186); + ftsFieldGroupPrefixed72=ftsFieldGroupPrefixed(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupPrefixed.add(ftsFieldGroupPrefixed80.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:26: ( ( and )=> and ftsFieldGroupPrefixed )* - loop27: + if ( state.backtracking==0 ) stream_ftsFieldGroupPrefixed.add(ftsFieldGroupPrefixed72.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:26: ( ( and )=> and ftsFieldGroupPrefixed )* + loop24: do { - int alt27=2; - alt27 = dfa27.predict(input); - switch (alt27) { + int alt24=2; + alt24 = dfa24.predict(input); + switch (alt24) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:27: ( and )=> and ftsFieldGroupPrefixed + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:27: ( and )=> and ftsFieldGroupPrefixed { - pushFollow(FOLLOW_and_in_ftsFieldGroupExplictConjunction1267); - and81=and(); + pushFollow(FOLLOW_and_in_ftsFieldGroupExplictConjunction1195); + and73=and(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_and.add(and81.getTree()); - pushFollow(FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1269); - ftsFieldGroupPrefixed82=ftsFieldGroupPrefixed(); + if ( state.backtracking==0 ) stream_and.add(and73.getTree()); + pushFollow(FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1197); + ftsFieldGroupPrefixed74=ftsFieldGroupPrefixed(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupPrefixed.add(ftsFieldGroupPrefixed82.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupPrefixed.add(ftsFieldGroupPrefixed74.getTree()); } break; default : - break loop27; + break loop24; } } while (true); @@ -3196,9 +2926,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 353:3: -> ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) + // 341:3: -> ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:353:6: ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:341:6: ^( FIELD_CONJUNCTION ( ftsFieldGroupPrefixed )+ ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_CONJUNCTION, "FIELD_CONJUNCTION"), root_1); @@ -3245,42 +2975,42 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupPrefixed" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:357:1: ftsFieldGroupPrefixed : ( ( not )=> not ftsFieldGroupTest ( boost )? -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) | ftsFieldGroupTest ( boost )? -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) | PLUS ftsFieldGroupTest ( boost )? -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) | BAR ftsFieldGroupTest ( boost )? -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) | MINUS ftsFieldGroupTest ( boost )? -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:345:1: ftsFieldGroupPrefixed : ( ( not )=> not ftsFieldGroupTest ( boost )? -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) | ftsFieldGroupTest ( boost )? -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) | PLUS ftsFieldGroupTest ( boost )? -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) | BAR ftsFieldGroupTest ( boost )? -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) | MINUS ftsFieldGroupTest ( boost )? -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) ); public final FTSParser.ftsFieldGroupPrefixed_return ftsFieldGroupPrefixed() throws RecognitionException { FTSParser.ftsFieldGroupPrefixed_return retval = new FTSParser.ftsFieldGroupPrefixed_return(); retval.start = input.LT(1); Object root_0 = null; - Token PLUS88=null; - Token BAR91=null; - Token MINUS94=null; - FTSParser.not_return not83 = null; + Token PLUS80=null; + Token BAR83=null; + Token MINUS86=null; + FTSParser.not_return not75 = null; + + FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest76 = null; + + FTSParser.boost_return boost77 = null; + + FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest78 = null; + + FTSParser.boost_return boost79 = null; + + FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest81 = null; + + FTSParser.boost_return boost82 = null; FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest84 = null; FTSParser.boost_return boost85 = null; - FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest86 = null; + FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest87 = null; - FTSParser.boost_return boost87 = null; - - FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest89 = null; - - FTSParser.boost_return boost90 = null; - - FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest92 = null; - - FTSParser.boost_return boost93 = null; - - FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest95 = null; - - FTSParser.boost_return boost96 = null; + FTSParser.boost_return boost88 = null; - Object PLUS88_tree=null; - Object BAR91_tree=null; - Object MINUS94_tree=null; + Object PLUS80_tree=null; + Object BAR83_tree=null; + Object MINUS86_tree=null; RewriteRuleTokenStream stream_PLUS=new RewriteRuleTokenStream(adaptor,"token PLUS"); RewriteRuleTokenStream stream_MINUS=new RewriteRuleTokenStream(adaptor,"token MINUS"); RewriteRuleTokenStream stream_BAR=new RewriteRuleTokenStream(adaptor,"token BAR"); @@ -3288,42 +3018,42 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_boost=new RewriteRuleSubtreeStream(adaptor,"rule boost"); RewriteRuleSubtreeStream stream_ftsFieldGroupTest=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupTest"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:358:2: ( ( not )=> not ftsFieldGroupTest ( boost )? -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) | ftsFieldGroupTest ( boost )? -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) | PLUS ftsFieldGroupTest ( boost )? -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) | BAR ftsFieldGroupTest ( boost )? -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) | MINUS ftsFieldGroupTest ( boost )? -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) ) - int alt33=5; - alt33 = dfa33.predict(input); - switch (alt33) { + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:2: ( ( not )=> not ftsFieldGroupTest ( boost )? -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) | ftsFieldGroupTest ( boost )? -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) | PLUS ftsFieldGroupTest ( boost )? -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) | BAR ftsFieldGroupTest ( boost )? -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) | MINUS ftsFieldGroupTest ( boost )? -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) ) + int alt30=5; + alt30 = dfa30.predict(input); + switch (alt30) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:358:4: ( not )=> not ftsFieldGroupTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:4: ( not )=> not ftsFieldGroupTest ( boost )? { - pushFollow(FOLLOW_not_in_ftsFieldGroupPrefixed1304); - not83=not(); + pushFollow(FOLLOW_not_in_ftsFieldGroupPrefixed1232); + not75=not(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_not.add(not83.getTree()); - pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1306); - ftsFieldGroupTest84=ftsFieldGroupTest(); + if ( state.backtracking==0 ) stream_not.add(not75.getTree()); + pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1234); + ftsFieldGroupTest76=ftsFieldGroupTest(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest84.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:358:35: ( boost )? - int alt28=2; - int LA28_0 = input.LA(1); + if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest76.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:35: ( boost )? + int alt25=2; + int LA25_0 = input.LA(1); - if ( (LA28_0==CARAT) ) { - alt28=1; + if ( (LA25_0==CARAT) ) { + alt25=1; } - switch (alt28) { + switch (alt25) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:358:35: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:35: boost { - pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1308); - boost85=boost(); + pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1236); + boost77=boost(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_boost.add(boost85.getTree()); + if ( state.backtracking==0 ) stream_boost.add(boost77.getTree()); } break; @@ -3344,15 +3074,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 359:3: -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) + // 347:3: -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:359:6: ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:6: ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_NEGATION, "FIELD_NEGATION"), root_1); adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:359:41: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:41: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -3368,247 +3098,31 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:8: ftsFieldGroupTest ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:348:8: ftsFieldGroupTest ( boost )? { - pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1331); - ftsFieldGroupTest86=ftsFieldGroupTest(); + pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1259); + ftsFieldGroupTest78=ftsFieldGroupTest(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest86.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:26: ( boost )? - int alt29=2; - int LA29_0 = input.LA(1); + if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest78.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:348:26: ( boost )? + int alt26=2; + int LA26_0 = input.LA(1); - if ( (LA29_0==CARAT) ) { - alt29=1; + if ( (LA26_0==CARAT) ) { + alt26=1; } - switch (alt29) { + switch (alt26) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:26: boost + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:348:26: boost { - pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1333); - boost87=boost(); + pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1261); + boost79=boost(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_boost.add(boost87.getTree()); - - } - break; - - } - - - - // AST REWRITE - // elements: boost, ftsFieldGroupTest - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 361:3: -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:361:6: ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_DEFAULT, "FIELD_DEFAULT"), root_1); - - adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:361:40: ( boost )? - if ( stream_boost.hasNext() ) { - adaptor.addChild(root_1, stream_boost.nextTree()); - - } - stream_boost.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0;} - } - break; - case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:7: PLUS ftsFieldGroupTest ( boost )? - { - PLUS88=(Token)match(input,PLUS,FOLLOW_PLUS_in_ftsFieldGroupPrefixed1355); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_PLUS.add(PLUS88); - - pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1357); - ftsFieldGroupTest89=ftsFieldGroupTest(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest89.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:30: ( boost )? - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==CARAT) ) { - alt30=1; - } - switch (alt30) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:30: boost - { - pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1359); - boost90=boost(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_boost.add(boost90.getTree()); - - } - break; - - } - - - - // AST REWRITE - // elements: boost, ftsFieldGroupTest - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 363:17: -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:363:20: ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_MANDATORY, "FIELD_MANDATORY"), root_1); - - adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:363:56: ( boost )? - if ( stream_boost.hasNext() ) { - adaptor.addChild(root_1, stream_boost.nextTree()); - - } - stream_boost.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0;} - } - break; - case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:11: BAR ftsFieldGroupTest ( boost )? - { - BAR91=(Token)match(input,BAR,FOLLOW_BAR_in_ftsFieldGroupPrefixed1399); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_BAR.add(BAR91); - - pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1401); - ftsFieldGroupTest92=ftsFieldGroupTest(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest92.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:33: ( boost )? - int alt31=2; - int LA31_0 = input.LA(1); - - if ( (LA31_0==CARAT) ) { - alt31=1; - } - switch (alt31) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:33: boost - { - pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1403); - boost93=boost(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_boost.add(boost93.getTree()); - - } - break; - - } - - - - // AST REWRITE - // elements: boost, ftsFieldGroupTest - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 365:17: -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:365:20: ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_OPTIONAL, "FIELD_OPTIONAL"), root_1); - - adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:365:55: ( boost )? - if ( stream_boost.hasNext() ) { - adaptor.addChild(root_1, stream_boost.nextTree()); - - } - stream_boost.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0;} - } - break; - case 5 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:11: MINUS ftsFieldGroupTest ( boost )? - { - MINUS94=(Token)match(input,MINUS,FOLLOW_MINUS_in_ftsFieldGroupPrefixed1443); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_MINUS.add(MINUS94); - - pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1445); - ftsFieldGroupTest95=ftsFieldGroupTest(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest95.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:35: ( boost )? - int alt32=2; - int LA32_0 = input.LA(1); - - if ( (LA32_0==CARAT) ) { - alt32=1; - } - switch (alt32) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:35: boost - { - pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1447); - boost96=boost(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_boost.add(boost96.getTree()); + if ( state.backtracking==0 ) stream_boost.add(boost79.getTree()); } break; @@ -3629,15 +3143,231 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 367:17: -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) + // 349:3: -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:367:20: ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:349:6: ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_DEFAULT, "FIELD_DEFAULT"), root_1); + + adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:349:40: ( boost )? + if ( stream_boost.hasNext() ) { + adaptor.addChild(root_1, stream_boost.nextTree()); + + } + stream_boost.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + } + break; + case 3 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:350:7: PLUS ftsFieldGroupTest ( boost )? + { + PLUS80=(Token)match(input,PLUS,FOLLOW_PLUS_in_ftsFieldGroupPrefixed1283); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_PLUS.add(PLUS80); + + pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1285); + ftsFieldGroupTest81=ftsFieldGroupTest(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest81.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:350:30: ( boost )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==CARAT) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:350:30: boost + { + pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1287); + boost82=boost(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_boost.add(boost82.getTree()); + + } + break; + + } + + + + // AST REWRITE + // elements: boost, ftsFieldGroupTest + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); + + root_0 = (Object)adaptor.nil(); + // 351:17: -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) + { + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:351:20: ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_MANDATORY, "FIELD_MANDATORY"), root_1); + + adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:351:56: ( boost )? + if ( stream_boost.hasNext() ) { + adaptor.addChild(root_1, stream_boost.nextTree()); + + } + stream_boost.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + } + break; + case 4 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:11: BAR ftsFieldGroupTest ( boost )? + { + BAR83=(Token)match(input,BAR,FOLLOW_BAR_in_ftsFieldGroupPrefixed1327); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_BAR.add(BAR83); + + pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1329); + ftsFieldGroupTest84=ftsFieldGroupTest(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest84.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:33: ( boost )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==CARAT) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:33: boost + { + pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1331); + boost85=boost(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_boost.add(boost85.getTree()); + + } + break; + + } + + + + // AST REWRITE + // elements: boost, ftsFieldGroupTest + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); + + root_0 = (Object)adaptor.nil(); + // 353:17: -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) + { + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:353:20: ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_OPTIONAL, "FIELD_OPTIONAL"), root_1); + + adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:353:55: ( boost )? + if ( stream_boost.hasNext() ) { + adaptor.addChild(root_1, stream_boost.nextTree()); + + } + stream_boost.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + } + break; + case 5 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:354:11: MINUS ftsFieldGroupTest ( boost )? + { + MINUS86=(Token)match(input,MINUS,FOLLOW_MINUS_in_ftsFieldGroupPrefixed1371); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_MINUS.add(MINUS86); + + pushFollow(FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1373); + ftsFieldGroupTest87=ftsFieldGroupTest(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ftsFieldGroupTest.add(ftsFieldGroupTest87.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:354:35: ( boost )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==CARAT) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:354:35: boost + { + pushFollow(FOLLOW_boost_in_ftsFieldGroupPrefixed1375); + boost88=boost(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_boost.add(boost88.getTree()); + + } + break; + + } + + + + // AST REWRITE + // elements: ftsFieldGroupTest, boost + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); + + root_0 = (Object)adaptor.nil(); + // 355:17: -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) + { + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:355:20: ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_EXCLUDE, "FIELD_EXCLUDE"), root_1); adaptor.addChild(root_1, stream_ftsFieldGroupTest.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:367:54: ( boost )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:355:54: ( boost )? if ( stream_boost.hasNext() ) { adaptor.addChild(root_1, stream_boost.nextTree()); @@ -3679,40 +3409,40 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupTest" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:371:1: ftsFieldGroupTest : ( ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ftsFieldGroupImplicitConjunctionOrDisjunction ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:359:1: ftsFieldGroupTest : ( ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ftsFieldGroupImplicitConjunctionOrDisjunction ); public final FTSParser.ftsFieldGroupTest_return ftsFieldGroupTest() throws RecognitionException { FTSParser.ftsFieldGroupTest_return retval = new FTSParser.ftsFieldGroupTest_return(); retval.start = input.LT(1); Object root_0 = null; - Token LPAREN107=null; - Token RPAREN109=null; - FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm97 = null; + Token LPAREN99=null; + Token RPAREN101=null; + FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm89 = null; - FTSParser.fuzzy_return fuzzy98 = null; + FTSParser.fuzzy_return fuzzy90 = null; - FTSParser.ftsFieldGroupExactTerm_return ftsFieldGroupExactTerm99 = null; + FTSParser.ftsFieldGroupExactTerm_return ftsFieldGroupExactTerm91 = null; - FTSParser.fuzzy_return fuzzy100 = null; + FTSParser.fuzzy_return fuzzy92 = null; - FTSParser.ftsFieldGroupPhrase_return ftsFieldGroupPhrase101 = null; + FTSParser.ftsFieldGroupPhrase_return ftsFieldGroupPhrase93 = null; - FTSParser.slop_return slop102 = null; + FTSParser.slop_return slop94 = null; - FTSParser.ftsFieldGroupSynonym_return ftsFieldGroupSynonym103 = null; + FTSParser.ftsFieldGroupSynonym_return ftsFieldGroupSynonym95 = null; - FTSParser.fuzzy_return fuzzy104 = null; + FTSParser.fuzzy_return fuzzy96 = null; - FTSParser.ftsFieldGroupProximity_return ftsFieldGroupProximity105 = null; + FTSParser.ftsFieldGroupProximity_return ftsFieldGroupProximity97 = null; - FTSParser.ftsFieldGroupRange_return ftsFieldGroupRange106 = null; + FTSParser.ftsFieldGroupRange_return ftsFieldGroupRange98 = null; - FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return ftsFieldGroupImplicitConjunctionOrDisjunction108 = null; + FTSParser.ftsFieldGroupImplicitConjunctionOrDisjunction_return ftsFieldGroupImplicitConjunctionOrDisjunction100 = null; - Object LPAREN107_tree=null; - Object RPAREN109_tree=null; + Object LPAREN99_tree=null; + Object RPAREN101_tree=null; RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); RewriteRuleSubtreeStream stream_ftsFieldGroupRange=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupRange"); @@ -3725,44 +3455,44 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_ftsFieldGroupExactTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupExactTerm"); RewriteRuleSubtreeStream stream_ftsFieldGroupProximity=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupProximity"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:2: ( ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ftsFieldGroupImplicitConjunctionOrDisjunction ) - int alt38=7; - alt38 = dfa38.predict(input); - switch (alt38) { + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:2: ( ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ftsFieldGroupImplicitConjunctionOrDisjunction ) + int alt35=7; + alt35 = dfa35.predict(input); + switch (alt35) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:4: ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:4: ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? { - pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupTest1491); - ftsFieldGroupTerm97=ftsFieldGroupTerm(); + pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupTest1419); + ftsFieldGroupTerm89=ftsFieldGroupTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm97.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:22: ( ( fuzzy )=> fuzzy )? - int alt34=2; - int LA34_0 = input.LA(1); + if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm89.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:22: ( ( fuzzy )=> fuzzy )? + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA34_0==TILDA) ) { - int LA34_1 = input.LA(2); + if ( (LA31_0==TILDA) ) { + int LA31_1 = input.LA(2); - if ( (LA34_1==DECIMAL_INTEGER_LITERAL||LA34_1==FLOATING_POINT_LITERAL) ) { - int LA34_3 = input.LA(3); + if ( (LA31_1==DECIMAL_INTEGER_LITERAL||LA31_1==FLOATING_POINT_LITERAL) ) { + int LA31_3 = input.LA(3); if ( (synpred11_FTS()) ) { - alt34=1; + alt31=1; } } } - switch (alt34) { + switch (alt31) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:23: ( fuzzy )=> fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:23: ( fuzzy )=> fuzzy { - pushFollow(FOLLOW_fuzzy_in_ftsFieldGroupTest1500); - fuzzy98=fuzzy(); + pushFollow(FOLLOW_fuzzy_in_ftsFieldGroupTest1428); + fuzzy90=fuzzy(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fuzzy.add(fuzzy98.getTree()); + if ( state.backtracking==0 ) stream_fuzzy.add(fuzzy90.getTree()); } break; @@ -3772,7 +3502,7 @@ public class FTSParser extends Parser { // AST REWRITE - // elements: fuzzy, ftsFieldGroupTerm + // elements: ftsFieldGroupTerm, fuzzy // token labels: // rule labels: retval // token list labels: @@ -3783,15 +3513,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 373:3: -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) + // 361:3: -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:373:6: ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:361:6: ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FG_TERM, "FG_TERM"), root_1); adaptor.addChild(root_1, stream_ftsFieldGroupTerm.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:373:34: ( fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:361:34: ( fuzzy )? if ( stream_fuzzy.hasNext() ) { adaptor.addChild(root_1, stream_fuzzy.nextTree()); @@ -3807,39 +3537,39 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:374:4: ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:4: ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? { - pushFollow(FOLLOW_ftsFieldGroupExactTerm_in_ftsFieldGroupTest1520); - ftsFieldGroupExactTerm99=ftsFieldGroupExactTerm(); + pushFollow(FOLLOW_ftsFieldGroupExactTerm_in_ftsFieldGroupTest1448); + ftsFieldGroupExactTerm91=ftsFieldGroupExactTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupExactTerm.add(ftsFieldGroupExactTerm99.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:374:27: ( ( fuzzy )=> fuzzy )? - int alt35=2; - int LA35_0 = input.LA(1); + if ( state.backtracking==0 ) stream_ftsFieldGroupExactTerm.add(ftsFieldGroupExactTerm91.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:27: ( ( fuzzy )=> fuzzy )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA35_0==TILDA) ) { - int LA35_1 = input.LA(2); + if ( (LA32_0==TILDA) ) { + int LA32_1 = input.LA(2); - if ( (LA35_1==DECIMAL_INTEGER_LITERAL||LA35_1==FLOATING_POINT_LITERAL) ) { - int LA35_3 = input.LA(3); + if ( (LA32_1==DECIMAL_INTEGER_LITERAL||LA32_1==FLOATING_POINT_LITERAL) ) { + int LA32_3 = input.LA(3); if ( (synpred12_FTS()) ) { - alt35=1; + alt32=1; } } } - switch (alt35) { + switch (alt32) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:374:28: ( fuzzy )=> fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:28: ( fuzzy )=> fuzzy { - pushFollow(FOLLOW_fuzzy_in_ftsFieldGroupTest1529); - fuzzy100=fuzzy(); + pushFollow(FOLLOW_fuzzy_in_ftsFieldGroupTest1457); + fuzzy92=fuzzy(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fuzzy.add(fuzzy100.getTree()); + if ( state.backtracking==0 ) stream_fuzzy.add(fuzzy92.getTree()); } break; @@ -3860,15 +3590,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 375:3: -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) + // 363:3: -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:375:6: ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:363:6: ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FG_EXACT_TERM, "FG_EXACT_TERM"), root_1); adaptor.addChild(root_1, stream_ftsFieldGroupExactTerm.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:375:45: ( fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:363:45: ( fuzzy )? if ( stream_fuzzy.hasNext() ) { adaptor.addChild(root_1, stream_fuzzy.nextTree()); @@ -3884,39 +3614,39 @@ public class FTSParser extends Parser { } break; case 3 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:376:4: ftsFieldGroupPhrase ( ( slop )=> slop )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:4: ftsFieldGroupPhrase ( ( slop )=> slop )? { - pushFollow(FOLLOW_ftsFieldGroupPhrase_in_ftsFieldGroupTest1549); - ftsFieldGroupPhrase101=ftsFieldGroupPhrase(); + pushFollow(FOLLOW_ftsFieldGroupPhrase_in_ftsFieldGroupTest1477); + ftsFieldGroupPhrase93=ftsFieldGroupPhrase(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupPhrase.add(ftsFieldGroupPhrase101.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:376:24: ( ( slop )=> slop )? - int alt36=2; - int LA36_0 = input.LA(1); + if ( state.backtracking==0 ) stream_ftsFieldGroupPhrase.add(ftsFieldGroupPhrase93.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:24: ( ( slop )=> slop )? + int alt33=2; + int LA33_0 = input.LA(1); - if ( (LA36_0==TILDA) ) { - int LA36_1 = input.LA(2); + if ( (LA33_0==TILDA) ) { + int LA33_1 = input.LA(2); - if ( (LA36_1==DECIMAL_INTEGER_LITERAL) ) { - int LA36_3 = input.LA(3); + if ( (LA33_1==DECIMAL_INTEGER_LITERAL) ) { + int LA33_3 = input.LA(3); if ( (synpred13_FTS()) ) { - alt36=1; + alt33=1; } } } - switch (alt36) { + switch (alt33) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:376:25: ( slop )=> slop + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:25: ( slop )=> slop { - pushFollow(FOLLOW_slop_in_ftsFieldGroupTest1558); - slop102=slop(); + pushFollow(FOLLOW_slop_in_ftsFieldGroupTest1486); + slop94=slop(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_slop.add(slop102.getTree()); + if ( state.backtracking==0 ) stream_slop.add(slop94.getTree()); } break; @@ -3937,15 +3667,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 377:3: -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) + // 365:3: -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:377:6: ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:365:6: ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FG_PHRASE, "FG_PHRASE"), root_1); adaptor.addChild(root_1, stream_ftsFieldGroupPhrase.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:377:38: ( slop )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:365:38: ( slop )? if ( stream_slop.hasNext() ) { adaptor.addChild(root_1, stream_slop.nextTree()); @@ -3961,39 +3691,39 @@ public class FTSParser extends Parser { } break; case 4 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:378:4: ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:4: ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? { - pushFollow(FOLLOW_ftsFieldGroupSynonym_in_ftsFieldGroupTest1580); - ftsFieldGroupSynonym103=ftsFieldGroupSynonym(); + pushFollow(FOLLOW_ftsFieldGroupSynonym_in_ftsFieldGroupTest1508); + ftsFieldGroupSynonym95=ftsFieldGroupSynonym(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupSynonym.add(ftsFieldGroupSynonym103.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:378:25: ( ( fuzzy )=> fuzzy )? - int alt37=2; - int LA37_0 = input.LA(1); + if ( state.backtracking==0 ) stream_ftsFieldGroupSynonym.add(ftsFieldGroupSynonym95.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:25: ( ( fuzzy )=> fuzzy )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA37_0==TILDA) ) { - int LA37_1 = input.LA(2); + if ( (LA34_0==TILDA) ) { + int LA34_1 = input.LA(2); - if ( (LA37_1==DECIMAL_INTEGER_LITERAL||LA37_1==FLOATING_POINT_LITERAL) ) { - int LA37_3 = input.LA(3); + if ( (LA34_1==DECIMAL_INTEGER_LITERAL||LA34_1==FLOATING_POINT_LITERAL) ) { + int LA34_3 = input.LA(3); if ( (synpred14_FTS()) ) { - alt37=1; + alt34=1; } } } - switch (alt37) { + switch (alt34) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:378:26: ( fuzzy )=> fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:26: ( fuzzy )=> fuzzy { - pushFollow(FOLLOW_fuzzy_in_ftsFieldGroupTest1589); - fuzzy104=fuzzy(); + pushFollow(FOLLOW_fuzzy_in_ftsFieldGroupTest1517); + fuzzy96=fuzzy(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_fuzzy.add(fuzzy104.getTree()); + if ( state.backtracking==0 ) stream_fuzzy.add(fuzzy96.getTree()); } break; @@ -4014,15 +3744,15 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 379:3: -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) + // 367:3: -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:379:6: ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:367:6: ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FG_SYNONYM, "FG_SYNONYM"), root_1); adaptor.addChild(root_1, stream_ftsFieldGroupSynonym.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:379:40: ( fuzzy )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:367:40: ( fuzzy )? if ( stream_fuzzy.hasNext() ) { adaptor.addChild(root_1, stream_fuzzy.nextTree()); @@ -4038,14 +3768,14 @@ public class FTSParser extends Parser { } break; case 5 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:380:6: ftsFieldGroupProximity + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:368:6: ftsFieldGroupProximity { - pushFollow(FOLLOW_ftsFieldGroupProximity_in_ftsFieldGroupTest1611); - ftsFieldGroupProximity105=ftsFieldGroupProximity(); + pushFollow(FOLLOW_ftsFieldGroupProximity_in_ftsFieldGroupTest1539); + ftsFieldGroupProximity97=ftsFieldGroupProximity(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupProximity.add(ftsFieldGroupProximity105.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupProximity.add(ftsFieldGroupProximity97.getTree()); // AST REWRITE @@ -4060,9 +3790,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 381:3: -> ^( FG_PROXIMITY ftsFieldGroupProximity ) + // 369:3: -> ^( FG_PROXIMITY ftsFieldGroupProximity ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:381:6: ^( FG_PROXIMITY ftsFieldGroupProximity ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:369:6: ^( FG_PROXIMITY ftsFieldGroupProximity ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FG_PROXIMITY, "FG_PROXIMITY"), root_1); @@ -4078,14 +3808,14 @@ public class FTSParser extends Parser { } break; case 6 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:382:9: ftsFieldGroupRange + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:370:9: ftsFieldGroupRange { - pushFollow(FOLLOW_ftsFieldGroupRange_in_ftsFieldGroupTest1631); - ftsFieldGroupRange106=ftsFieldGroupRange(); + pushFollow(FOLLOW_ftsFieldGroupRange_in_ftsFieldGroupTest1559); + ftsFieldGroupRange98=ftsFieldGroupRange(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupRange.add(ftsFieldGroupRange106.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupRange.add(ftsFieldGroupRange98.getTree()); // AST REWRITE @@ -4100,9 +3830,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 383:10: -> ^( FG_RANGE ftsFieldGroupRange ) + // 371:10: -> ^( FG_RANGE ftsFieldGroupRange ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:383:13: ^( FG_RANGE ftsFieldGroupRange ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:371:13: ^( FG_RANGE ftsFieldGroupRange ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FG_RANGE, "FG_RANGE"), root_1); @@ -4118,19 +3848,19 @@ public class FTSParser extends Parser { } break; case 7 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:384:5: LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:5: LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN { - LPAREN107=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_ftsFieldGroupTest1654); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN107); + LPAREN99=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_ftsFieldGroupTest1582); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN99); - pushFollow(FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroupTest1656); - ftsFieldGroupImplicitConjunctionOrDisjunction108=ftsFieldGroupImplicitConjunctionOrDisjunction(); + pushFollow(FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroupTest1584); + ftsFieldGroupImplicitConjunctionOrDisjunction100=ftsFieldGroupImplicitConjunctionOrDisjunction(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupImplicitConjunctionOrDisjunction.add(ftsFieldGroupImplicitConjunctionOrDisjunction108.getTree()); - RPAREN109=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_ftsFieldGroupTest1658); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN109); + if ( state.backtracking==0 ) stream_ftsFieldGroupImplicitConjunctionOrDisjunction.add(ftsFieldGroupImplicitConjunctionOrDisjunction100.getTree()); + RPAREN101=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_ftsFieldGroupTest1586); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN101); @@ -4146,7 +3876,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 385:3: -> ftsFieldGroupImplicitConjunctionOrDisjunction + // 373:3: -> ftsFieldGroupImplicitConjunctionOrDisjunction { adaptor.addChild(root_0, stream_ftsFieldGroupImplicitConjunctionOrDisjunction.nextTree()); @@ -4182,29 +3912,29 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupTerm" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:388:1: ftsFieldGroupTerm : ftsWord ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:376:1: ftsFieldGroupTerm : ftsWord ; public final FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm() throws RecognitionException { FTSParser.ftsFieldGroupTerm_return retval = new FTSParser.ftsFieldGroupTerm_return(); retval.start = input.LT(1); Object root_0 = null; - FTSParser.ftsWord_return ftsWord110 = null; + FTSParser.ftsWord_return ftsWord102 = null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:389:2: ( ftsWord ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:389:4: ftsWord + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:377:2: ( ftsWord ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:377:4: ftsWord { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_ftsWord_in_ftsFieldGroupTerm1678); - ftsWord110=ftsWord(); + pushFollow(FOLLOW_ftsWord_in_ftsFieldGroupTerm1606); + ftsWord102=ftsWord(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ftsWord110.getTree()); + if ( state.backtracking==0 ) adaptor.addChild(root_0, ftsWord102.getTree()); } @@ -4233,33 +3963,33 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupExactTerm" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:392:1: ftsFieldGroupExactTerm : EQUALS ftsFieldGroupTerm -> ftsFieldGroupTerm ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:380:1: ftsFieldGroupExactTerm : EQUALS ftsFieldGroupTerm -> ftsFieldGroupTerm ; public final FTSParser.ftsFieldGroupExactTerm_return ftsFieldGroupExactTerm() throws RecognitionException { FTSParser.ftsFieldGroupExactTerm_return retval = new FTSParser.ftsFieldGroupExactTerm_return(); retval.start = input.LT(1); Object root_0 = null; - Token EQUALS111=null; - FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm112 = null; + Token EQUALS103=null; + FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm104 = null; - Object EQUALS111_tree=null; + Object EQUALS103_tree=null; RewriteRuleTokenStream stream_EQUALS=new RewriteRuleTokenStream(adaptor,"token EQUALS"); RewriteRuleSubtreeStream stream_ftsFieldGroupTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupTerm"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:393:2: ( EQUALS ftsFieldGroupTerm -> ftsFieldGroupTerm ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:393:4: EQUALS ftsFieldGroupTerm + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:381:2: ( EQUALS ftsFieldGroupTerm -> ftsFieldGroupTerm ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:381:4: EQUALS ftsFieldGroupTerm { - EQUALS111=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_ftsFieldGroupExactTerm1690); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_EQUALS.add(EQUALS111); + EQUALS103=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_ftsFieldGroupExactTerm1618); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_EQUALS.add(EQUALS103); - pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupExactTerm1692); - ftsFieldGroupTerm112=ftsFieldGroupTerm(); + pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupExactTerm1620); + ftsFieldGroupTerm104=ftsFieldGroupTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm112.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm104.getTree()); // AST REWRITE @@ -4274,7 +4004,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 394:3: -> ftsFieldGroupTerm + // 382:3: -> ftsFieldGroupTerm { adaptor.addChild(root_0, stream_ftsFieldGroupTerm.nextTree()); @@ -4308,27 +4038,27 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupPhrase" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:397:1: ftsFieldGroupPhrase : FTSPHRASE ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:385:1: ftsFieldGroupPhrase : FTSPHRASE ; public final FTSParser.ftsFieldGroupPhrase_return ftsFieldGroupPhrase() throws RecognitionException { FTSParser.ftsFieldGroupPhrase_return retval = new FTSParser.ftsFieldGroupPhrase_return(); retval.start = input.LT(1); Object root_0 = null; - Token FTSPHRASE113=null; + Token FTSPHRASE105=null; - Object FTSPHRASE113_tree=null; + Object FTSPHRASE105_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:398:2: ( FTSPHRASE ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:398:6: FTSPHRASE + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:386:2: ( FTSPHRASE ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:386:6: FTSPHRASE { root_0 = (Object)adaptor.nil(); - FTSPHRASE113=(Token)match(input,FTSPHRASE,FOLLOW_FTSPHRASE_in_ftsFieldGroupPhrase1712); if (state.failed) return retval; + FTSPHRASE105=(Token)match(input,FTSPHRASE,FOLLOW_FTSPHRASE_in_ftsFieldGroupPhrase1640); if (state.failed) return retval; if ( state.backtracking==0 ) { - FTSPHRASE113_tree = (Object)adaptor.create(FTSPHRASE113); - adaptor.addChild(root_0, FTSPHRASE113_tree); + FTSPHRASE105_tree = (Object)adaptor.create(FTSPHRASE105); + adaptor.addChild(root_0, FTSPHRASE105_tree); } } @@ -4358,33 +4088,33 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupSynonym" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:401:1: ftsFieldGroupSynonym : TILDA ftsFieldGroupTerm -> ftsFieldGroupTerm ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:389:1: ftsFieldGroupSynonym : TILDA ftsFieldGroupTerm -> ftsFieldGroupTerm ; public final FTSParser.ftsFieldGroupSynonym_return ftsFieldGroupSynonym() throws RecognitionException { FTSParser.ftsFieldGroupSynonym_return retval = new FTSParser.ftsFieldGroupSynonym_return(); retval.start = input.LT(1); Object root_0 = null; - Token TILDA114=null; - FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm115 = null; + Token TILDA106=null; + FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm107 = null; - Object TILDA114_tree=null; + Object TILDA106_tree=null; RewriteRuleTokenStream stream_TILDA=new RewriteRuleTokenStream(adaptor,"token TILDA"); RewriteRuleSubtreeStream stream_ftsFieldGroupTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupTerm"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:402:2: ( TILDA ftsFieldGroupTerm -> ftsFieldGroupTerm ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:402:4: TILDA ftsFieldGroupTerm + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:390:2: ( TILDA ftsFieldGroupTerm -> ftsFieldGroupTerm ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:390:4: TILDA ftsFieldGroupTerm { - TILDA114=(Token)match(input,TILDA,FOLLOW_TILDA_in_ftsFieldGroupSynonym1724); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_TILDA.add(TILDA114); + TILDA106=(Token)match(input,TILDA,FOLLOW_TILDA_in_ftsFieldGroupSynonym1652); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TILDA.add(TILDA106); - pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupSynonym1726); - ftsFieldGroupTerm115=ftsFieldGroupTerm(); + pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupSynonym1654); + ftsFieldGroupTerm107=ftsFieldGroupTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm115.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm107.getTree()); // AST REWRITE @@ -4399,7 +4129,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 403:3: -> ftsFieldGroupTerm + // 391:3: -> ftsFieldGroupTerm { adaptor.addChild(root_0, stream_ftsFieldGroupTerm.nextTree()); @@ -4433,78 +4163,78 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupProximity" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:406:1: ftsFieldGroupProximity : ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ -> ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:394:1: ftsFieldGroupProximity : ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ -> ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ ; public final FTSParser.ftsFieldGroupProximity_return ftsFieldGroupProximity() throws RecognitionException { FTSParser.ftsFieldGroupProximity_return retval = new FTSParser.ftsFieldGroupProximity_return(); retval.start = input.LT(1); Object root_0 = null; - FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm116 = null; + FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm108 = null; - FTSParser.proximityGroup_return proximityGroup117 = null; + FTSParser.proximityGroup_return proximityGroup109 = null; - FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm118 = null; + FTSParser.ftsFieldGroupTerm_return ftsFieldGroupTerm110 = null; RewriteRuleSubtreeStream stream_ftsFieldGroupTerm=new RewriteRuleSubtreeStream(adaptor,"rule ftsFieldGroupTerm"); RewriteRuleSubtreeStream stream_proximityGroup=new RewriteRuleSubtreeStream(adaptor,"rule proximityGroup"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:407:2: ( ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ -> ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:407:4: ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:395:2: ( ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ -> ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:395:4: ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ { - pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1744); - ftsFieldGroupTerm116=ftsFieldGroupTerm(); + pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1672); + ftsFieldGroupTerm108=ftsFieldGroupTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm116.getTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:407:22: ( proximityGroup ftsFieldGroupTerm )+ - int cnt39=0; - loop39: + if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm108.getTree()); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:395:22: ( proximityGroup ftsFieldGroupTerm )+ + int cnt36=0; + loop36: do { - int alt39=2; - int LA39_0 = input.LA(1); + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA39_0==STAR) ) { - alt39=1; + if ( (LA36_0==STAR) ) { + alt36=1; } - switch (alt39) { + switch (alt36) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:407:23: proximityGroup ftsFieldGroupTerm + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:395:23: proximityGroup ftsFieldGroupTerm { - pushFollow(FOLLOW_proximityGroup_in_ftsFieldGroupProximity1747); - proximityGroup117=proximityGroup(); + pushFollow(FOLLOW_proximityGroup_in_ftsFieldGroupProximity1675); + proximityGroup109=proximityGroup(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_proximityGroup.add(proximityGroup117.getTree()); - pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1749); - ftsFieldGroupTerm118=ftsFieldGroupTerm(); + if ( state.backtracking==0 ) stream_proximityGroup.add(proximityGroup109.getTree()); + pushFollow(FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1677); + ftsFieldGroupTerm110=ftsFieldGroupTerm(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm118.getTree()); + if ( state.backtracking==0 ) stream_ftsFieldGroupTerm.add(ftsFieldGroupTerm110.getTree()); } break; default : - if ( cnt39 >= 1 ) break loop39; + if ( cnt36 >= 1 ) break loop36; if (state.backtracking>0) {state.failed=true; return retval;} EarlyExitException eee = - new EarlyExitException(39, input); + new EarlyExitException(36, input); throw eee; } - cnt39++; + cnt36++; } while (true); // AST REWRITE - // elements: proximityGroup, ftsFieldGroupTerm, ftsFieldGroupTerm + // elements: ftsFieldGroupTerm, ftsFieldGroupTerm, proximityGroup // token labels: // rule labels: retval // token list labels: @@ -4515,19 +4245,19 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 408:3: -> ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ + // 396:3: -> ftsFieldGroupTerm ( proximityGroup ftsFieldGroupTerm )+ { adaptor.addChild(root_0, stream_ftsFieldGroupTerm.nextTree()); - if ( !(stream_proximityGroup.hasNext()||stream_ftsFieldGroupTerm.hasNext()) ) { + if ( !(stream_ftsFieldGroupTerm.hasNext()||stream_proximityGroup.hasNext()) ) { throw new RewriteEarlyExitException(); } - while ( stream_proximityGroup.hasNext()||stream_ftsFieldGroupTerm.hasNext() ) { + while ( stream_ftsFieldGroupTerm.hasNext()||stream_proximityGroup.hasNext() ) { adaptor.addChild(root_0, stream_proximityGroup.nextTree()); adaptor.addChild(root_0, stream_ftsFieldGroupTerm.nextTree()); } - stream_proximityGroup.reset(); stream_ftsFieldGroupTerm.reset(); + stream_proximityGroup.reset(); } @@ -4559,61 +4289,61 @@ public class FTSParser extends Parser { }; // $ANTLR start "proximityGroup" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:411:1: proximityGroup : STAR ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? -> ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:399:1: proximityGroup : STAR ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? -> ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) ; public final FTSParser.proximityGroup_return proximityGroup() throws RecognitionException { FTSParser.proximityGroup_return retval = new FTSParser.proximityGroup_return(); retval.start = input.LT(1); Object root_0 = null; - Token STAR119=null; - Token LPAREN120=null; - Token DECIMAL_INTEGER_LITERAL121=null; - Token RPAREN122=null; + Token STAR111=null; + Token LPAREN112=null; + Token DECIMAL_INTEGER_LITERAL113=null; + Token RPAREN114=null; - Object STAR119_tree=null; - Object LPAREN120_tree=null; - Object DECIMAL_INTEGER_LITERAL121_tree=null; - Object RPAREN122_tree=null; + Object STAR111_tree=null; + Object LPAREN112_tree=null; + Object DECIMAL_INTEGER_LITERAL113_tree=null; + Object RPAREN114_tree=null; RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); RewriteRuleTokenStream stream_STAR=new RewriteRuleTokenStream(adaptor,"token STAR"); RewriteRuleTokenStream stream_DECIMAL_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token DECIMAL_INTEGER_LITERAL"); RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:4: ( STAR ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? -> ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:7: STAR ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:400:4: ( STAR ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? -> ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:400:7: STAR ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? { - STAR119=(Token)match(input,STAR,FOLLOW_STAR_in_proximityGroup1779); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_STAR.add(STAR119); + STAR111=(Token)match(input,STAR,FOLLOW_STAR_in_proximityGroup1707); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_STAR.add(STAR111); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:12: ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? - int alt41=2; - int LA41_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:400:12: ( LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA41_0==LPAREN) ) { - alt41=1; + if ( (LA38_0==LPAREN) ) { + alt38=1; } - switch (alt41) { + switch (alt38) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:14: LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:400:14: LPAREN ( DECIMAL_INTEGER_LITERAL )? RPAREN { - LPAREN120=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_proximityGroup1783); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN120); + LPAREN112=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_proximityGroup1711); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN112); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:21: ( DECIMAL_INTEGER_LITERAL )? - int alt40=2; - int LA40_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:400:21: ( DECIMAL_INTEGER_LITERAL )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA40_0==DECIMAL_INTEGER_LITERAL) ) { - alt40=1; + if ( (LA37_0==DECIMAL_INTEGER_LITERAL) ) { + alt37=1; } - switch (alt40) { + switch (alt37) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:21: DECIMAL_INTEGER_LITERAL + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:400:21: DECIMAL_INTEGER_LITERAL { - DECIMAL_INTEGER_LITERAL121=(Token)match(input,DECIMAL_INTEGER_LITERAL,FOLLOW_DECIMAL_INTEGER_LITERAL_in_proximityGroup1785); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_DECIMAL_INTEGER_LITERAL.add(DECIMAL_INTEGER_LITERAL121); + DECIMAL_INTEGER_LITERAL113=(Token)match(input,DECIMAL_INTEGER_LITERAL,FOLLOW_DECIMAL_INTEGER_LITERAL_in_proximityGroup1713); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_DECIMAL_INTEGER_LITERAL.add(DECIMAL_INTEGER_LITERAL113); } @@ -4621,8 +4351,8 @@ public class FTSParser extends Parser { } - RPAREN122=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_proximityGroup1788); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN122); + RPAREN114=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_proximityGroup1716); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN114); } @@ -4644,14 +4374,14 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 413:5: -> ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) + // 401:5: -> ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:413:8: ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:401:8: ^( PROXIMITY ( DECIMAL_INTEGER_LITERAL )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(PROXIMITY, "PROXIMITY"), root_1); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:413:20: ( DECIMAL_INTEGER_LITERAL )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:401:20: ( DECIMAL_INTEGER_LITERAL )? if ( stream_DECIMAL_INTEGER_LITERAL.hasNext() ) { adaptor.addChild(root_1, stream_DECIMAL_INTEGER_LITERAL.nextNode()); @@ -4691,72 +4421,72 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsFieldGroupRange" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:416:1: ftsFieldGroupRange : ( ftsRangeWord DOTDOT ftsRangeWord -> INCLUSIVE ftsRangeWord ftsRangeWord INCLUSIVE | range_left ftsRangeWord TO ftsRangeWord range_right -> range_left ftsRangeWord ftsRangeWord range_right ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:404:1: ftsFieldGroupRange : ( ftsRangeWord DOTDOT ftsRangeWord -> INCLUSIVE ftsRangeWord ftsRangeWord INCLUSIVE | range_left ftsRangeWord TO ftsRangeWord range_right -> range_left ftsRangeWord ftsRangeWord range_right ); public final FTSParser.ftsFieldGroupRange_return ftsFieldGroupRange() throws RecognitionException { FTSParser.ftsFieldGroupRange_return retval = new FTSParser.ftsFieldGroupRange_return(); retval.start = input.LT(1); Object root_0 = null; - Token DOTDOT124=null; - Token TO128=null; - FTSParser.ftsRangeWord_return ftsRangeWord123 = null; + Token DOTDOT116=null; + Token TO120=null; + FTSParser.ftsRangeWord_return ftsRangeWord115 = null; - FTSParser.ftsRangeWord_return ftsRangeWord125 = null; + FTSParser.ftsRangeWord_return ftsRangeWord117 = null; - FTSParser.range_left_return range_left126 = null; + FTSParser.range_left_return range_left118 = null; - FTSParser.ftsRangeWord_return ftsRangeWord127 = null; + FTSParser.ftsRangeWord_return ftsRangeWord119 = null; - FTSParser.ftsRangeWord_return ftsRangeWord129 = null; + FTSParser.ftsRangeWord_return ftsRangeWord121 = null; - FTSParser.range_right_return range_right130 = null; + FTSParser.range_right_return range_right122 = null; - Object DOTDOT124_tree=null; - Object TO128_tree=null; + Object DOTDOT116_tree=null; + Object TO120_tree=null; RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT"); RewriteRuleTokenStream stream_TO=new RewriteRuleTokenStream(adaptor,"token TO"); RewriteRuleSubtreeStream stream_range_left=new RewriteRuleSubtreeStream(adaptor,"rule range_left"); RewriteRuleSubtreeStream stream_range_right=new RewriteRuleSubtreeStream(adaptor,"rule range_right"); RewriteRuleSubtreeStream stream_ftsRangeWord=new RewriteRuleSubtreeStream(adaptor,"rule ftsRangeWord"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:417:9: ( ftsRangeWord DOTDOT ftsRangeWord -> INCLUSIVE ftsRangeWord ftsRangeWord INCLUSIVE | range_left ftsRangeWord TO ftsRangeWord range_right -> range_left ftsRangeWord ftsRangeWord range_right ) - int alt42=2; - int LA42_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:405:9: ( ftsRangeWord DOTDOT ftsRangeWord -> INCLUSIVE ftsRangeWord ftsRangeWord INCLUSIVE | range_left ftsRangeWord TO ftsRangeWord range_right -> range_left ftsRangeWord ftsRangeWord range_right ) + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA42_0==DECIMAL_INTEGER_LITERAL||LA42_0==FTSPHRASE||(LA42_0>=ID && LA42_0<=FTSWILD)||LA42_0==FLOATING_POINT_LITERAL) ) { - alt42=1; + if ( (LA39_0==DECIMAL_INTEGER_LITERAL||LA39_0==FTSPHRASE||(LA39_0>=ID && LA39_0<=FTSWILD)||LA39_0==FLOATING_POINT_LITERAL) ) { + alt39=1; } - else if ( ((LA42_0>=LSQUARE && LA42_0<=LT)) ) { - alt42=2; + else if ( ((LA39_0>=LSQUARE && LA39_0<=LT)) ) { + alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 42, 0, input); + new NoViableAltException("", 39, 0, input); throw nvae; } - switch (alt42) { + switch (alt39) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:417:11: ftsRangeWord DOTDOT ftsRangeWord + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:405:11: ftsRangeWord DOTDOT ftsRangeWord { - pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1824); - ftsRangeWord123=ftsRangeWord(); + pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1752); + ftsRangeWord115=ftsRangeWord(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord123.getTree()); - DOTDOT124=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_ftsFieldGroupRange1826); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_DOTDOT.add(DOTDOT124); + if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord115.getTree()); + DOTDOT116=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_ftsFieldGroupRange1754); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_DOTDOT.add(DOTDOT116); - pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1828); - ftsRangeWord125=ftsRangeWord(); + pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1756); + ftsRangeWord117=ftsRangeWord(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord125.getTree()); + if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord117.getTree()); // AST REWRITE @@ -4771,7 +4501,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 418:3: -> INCLUSIVE ftsRangeWord ftsRangeWord INCLUSIVE + // 406:3: -> INCLUSIVE ftsRangeWord ftsRangeWord INCLUSIVE { adaptor.addChild(root_0, (Object)adaptor.create(INCLUSIVE, "INCLUSIVE")); adaptor.addChild(root_0, stream_ftsRangeWord.nextTree()); @@ -4784,39 +4514,39 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:419:4: range_left ftsRangeWord TO ftsRangeWord range_right + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:407:4: range_left ftsRangeWord TO ftsRangeWord range_right { - pushFollow(FOLLOW_range_left_in_ftsFieldGroupRange1845); - range_left126=range_left(); + pushFollow(FOLLOW_range_left_in_ftsFieldGroupRange1773); + range_left118=range_left(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_range_left.add(range_left126.getTree()); - pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1847); - ftsRangeWord127=ftsRangeWord(); + if ( state.backtracking==0 ) stream_range_left.add(range_left118.getTree()); + pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1775); + ftsRangeWord119=ftsRangeWord(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord127.getTree()); - TO128=(Token)match(input,TO,FOLLOW_TO_in_ftsFieldGroupRange1849); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_TO.add(TO128); + if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord119.getTree()); + TO120=(Token)match(input,TO,FOLLOW_TO_in_ftsFieldGroupRange1777); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TO.add(TO120); - pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1851); - ftsRangeWord129=ftsRangeWord(); + pushFollow(FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1779); + ftsRangeWord121=ftsRangeWord(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord129.getTree()); - pushFollow(FOLLOW_range_right_in_ftsFieldGroupRange1853); - range_right130=range_right(); + if ( state.backtracking==0 ) stream_ftsRangeWord.add(ftsRangeWord121.getTree()); + pushFollow(FOLLOW_range_right_in_ftsFieldGroupRange1781); + range_right122=range_right(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_range_right.add(range_right130.getTree()); + if ( state.backtracking==0 ) stream_range_right.add(range_right122.getTree()); // AST REWRITE - // elements: ftsRangeWord, range_left, ftsRangeWord, range_right + // elements: range_right, ftsRangeWord, range_left, ftsRangeWord // token labels: // rule labels: retval // token list labels: @@ -4827,7 +4557,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 420:3: -> range_left ftsRangeWord ftsRangeWord range_right + // 408:3: -> range_left ftsRangeWord ftsRangeWord range_right { adaptor.addChild(root_0, stream_range_left.nextTree()); adaptor.addChild(root_0, stream_ftsRangeWord.nextTree()); @@ -4866,45 +4596,45 @@ public class FTSParser extends Parser { }; // $ANTLR start "range_left" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:423:1: range_left : ( LSQUARE -> INCLUSIVE | LT -> EXCLUSIVE ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:411:1: range_left : ( LSQUARE -> INCLUSIVE | LT -> EXCLUSIVE ); public final FTSParser.range_left_return range_left() throws RecognitionException { FTSParser.range_left_return retval = new FTSParser.range_left_return(); retval.start = input.LT(1); Object root_0 = null; - Token LSQUARE131=null; - Token LT132=null; + Token LSQUARE123=null; + Token LT124=null; - Object LSQUARE131_tree=null; - Object LT132_tree=null; + Object LSQUARE123_tree=null; + Object LT124_tree=null; RewriteRuleTokenStream stream_LT=new RewriteRuleTokenStream(adaptor,"token LT"); RewriteRuleTokenStream stream_LSQUARE=new RewriteRuleTokenStream(adaptor,"token LSQUARE"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:424:2: ( LSQUARE -> INCLUSIVE | LT -> EXCLUSIVE ) - int alt43=2; - int LA43_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:2: ( LSQUARE -> INCLUSIVE | LT -> EXCLUSIVE ) + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA43_0==LSQUARE) ) { - alt43=1; + if ( (LA40_0==LSQUARE) ) { + alt40=1; } - else if ( (LA43_0==LT) ) { - alt43=2; + else if ( (LA40_0==LT) ) { + alt40=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 43, 0, input); + new NoViableAltException("", 40, 0, input); throw nvae; } - switch (alt43) { + switch (alt40) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:424:10: LSQUARE + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:412:10: LSQUARE { - LSQUARE131=(Token)match(input,LSQUARE,FOLLOW_LSQUARE_in_range_left1883); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LSQUARE.add(LSQUARE131); + LSQUARE123=(Token)match(input,LSQUARE,FOLLOW_LSQUARE_in_range_left1811); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LSQUARE.add(LSQUARE123); @@ -4920,7 +4650,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 425:3: -> INCLUSIVE + // 413:3: -> INCLUSIVE { adaptor.addChild(root_0, (Object)adaptor.create(INCLUSIVE, "INCLUSIVE")); @@ -4930,10 +4660,10 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:426:4: LT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:414:4: LT { - LT132=(Token)match(input,LT,FOLLOW_LT_in_range_left1894); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LT.add(LT132); + LT124=(Token)match(input,LT,FOLLOW_LT_in_range_left1822); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LT.add(LT124); @@ -4949,7 +4679,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 427:3: -> EXCLUSIVE + // 415:3: -> EXCLUSIVE { adaptor.addChild(root_0, (Object)adaptor.create(EXCLUSIVE, "EXCLUSIVE")); @@ -4985,45 +4715,45 @@ public class FTSParser extends Parser { }; // $ANTLR start "range_right" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:430:1: range_right : ( RSQUARE -> INCLUSIVE | GT -> EXCLUSIVE ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:418:1: range_right : ( RSQUARE -> INCLUSIVE | GT -> EXCLUSIVE ); public final FTSParser.range_right_return range_right() throws RecognitionException { FTSParser.range_right_return retval = new FTSParser.range_right_return(); retval.start = input.LT(1); Object root_0 = null; - Token RSQUARE133=null; - Token GT134=null; + Token RSQUARE125=null; + Token GT126=null; - Object RSQUARE133_tree=null; - Object GT134_tree=null; + Object RSQUARE125_tree=null; + Object GT126_tree=null; RewriteRuleTokenStream stream_GT=new RewriteRuleTokenStream(adaptor,"token GT"); RewriteRuleTokenStream stream_RSQUARE=new RewriteRuleTokenStream(adaptor,"token RSQUARE"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:431:2: ( RSQUARE -> INCLUSIVE | GT -> EXCLUSIVE ) - int alt44=2; - int LA44_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:419:2: ( RSQUARE -> INCLUSIVE | GT -> EXCLUSIVE ) + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA44_0==RSQUARE) ) { - alt44=1; + if ( (LA41_0==RSQUARE) ) { + alt41=1; } - else if ( (LA44_0==GT) ) { - alt44=2; + else if ( (LA41_0==GT) ) { + alt41=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 44, 0, input); + new NoViableAltException("", 41, 0, input); throw nvae; } - switch (alt44) { + switch (alt41) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:431:10: RSQUARE + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:419:10: RSQUARE { - RSQUARE133=(Token)match(input,RSQUARE,FOLLOW_RSQUARE_in_range_right1918); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RSQUARE.add(RSQUARE133); + RSQUARE125=(Token)match(input,RSQUARE,FOLLOW_RSQUARE_in_range_right1846); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RSQUARE.add(RSQUARE125); @@ -5039,7 +4769,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 432:3: -> INCLUSIVE + // 420:3: -> INCLUSIVE { adaptor.addChild(root_0, (Object)adaptor.create(INCLUSIVE, "INCLUSIVE")); @@ -5049,10 +4779,10 @@ public class FTSParser extends Parser { } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:433:4: GT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:421:4: GT { - GT134=(Token)match(input,GT,FOLLOW_GT_in_range_right1929); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_GT.add(GT134); + GT126=(Token)match(input,GT,FOLLOW_GT_in_range_right1857); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_GT.add(GT126); @@ -5068,7 +4798,7 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 434:3: -> EXCLUSIVE + // 422:3: -> EXCLUSIVE { adaptor.addChild(root_0, (Object)adaptor.create(EXCLUSIVE, "EXCLUSIVE")); @@ -5104,43 +4834,43 @@ public class FTSParser extends Parser { }; // $ANTLR start "fieldReference" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:438:1: fieldReference : ( AT )? ( prefix | uri )? identifier -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:426:1: fieldReference : ( AT )? ( prefix | uri )? identifier -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) ; public final FTSParser.fieldReference_return fieldReference() throws RecognitionException { FTSParser.fieldReference_return retval = new FTSParser.fieldReference_return(); retval.start = input.LT(1); Object root_0 = null; - Token AT135=null; - FTSParser.prefix_return prefix136 = null; + Token AT127=null; + FTSParser.prefix_return prefix128 = null; - FTSParser.uri_return uri137 = null; + FTSParser.uri_return uri129 = null; - FTSParser.identifier_return identifier138 = null; + FTSParser.identifier_return identifier130 = null; - Object AT135_tree=null; + Object AT127_tree=null; RewriteRuleTokenStream stream_AT=new RewriteRuleTokenStream(adaptor,"token AT"); RewriteRuleSubtreeStream stream_prefix=new RewriteRuleSubtreeStream(adaptor,"rule prefix"); RewriteRuleSubtreeStream stream_uri=new RewriteRuleSubtreeStream(adaptor,"rule uri"); RewriteRuleSubtreeStream stream_identifier=new RewriteRuleSubtreeStream(adaptor,"rule identifier"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:2: ( ( AT )? ( prefix | uri )? identifier -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:5: ( AT )? ( prefix | uri )? identifier + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:2: ( ( AT )? ( prefix | uri )? identifier -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:5: ( AT )? ( prefix | uri )? identifier { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:5: ( AT )? - int alt45=2; - int LA45_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:5: ( AT )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA45_0==AT) ) { - alt45=1; + if ( (LA42_0==AT) ) { + alt42=1; } - switch (alt45) { + switch (alt42) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:5: AT + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:5: AT { - AT135=(Token)match(input,AT,FOLLOW_AT_in_fieldReference1951); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_AT.add(AT135); + AT127=(Token)match(input,AT,FOLLOW_AT_in_fieldReference1879); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_AT.add(AT127); } @@ -5148,66 +4878,66 @@ public class FTSParser extends Parser { } - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:9: ( prefix | uri )? - int alt46=3; - int LA46_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:9: ( prefix | uri )? + int alt43=3; + int LA43_0 = input.LA(1); - if ( (LA46_0==ID) ) { - int LA46_1 = input.LA(2); + if ( (LA43_0==ID) ) { + int LA43_1 = input.LA(2); - if ( (LA46_1==COLON) ) { - int LA46_3 = input.LA(3); + if ( (LA43_1==COLON) ) { + int LA43_3 = input.LA(3); - if ( (LA46_3==ID) ) { - int LA46_5 = input.LA(4); + if ( (LA43_3==ID) ) { + int LA43_5 = input.LA(4); - if ( (LA46_5==COLON) ) { - alt46=1; + if ( (LA43_5==COLON) ) { + alt43=1; } } } } - else if ( (LA46_0==URI) ) { - alt46=2; + else if ( (LA43_0==URI) ) { + alt43=2; } - switch (alt46) { + switch (alt43) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:10: prefix + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:10: prefix { - pushFollow(FOLLOW_prefix_in_fieldReference1955); - prefix136=prefix(); + pushFollow(FOLLOW_prefix_in_fieldReference1883); + prefix128=prefix(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_prefix.add(prefix136.getTree()); + if ( state.backtracking==0 ) stream_prefix.add(prefix128.getTree()); } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:439:17: uri + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:427:17: uri { - pushFollow(FOLLOW_uri_in_fieldReference1957); - uri137=uri(); + pushFollow(FOLLOW_uri_in_fieldReference1885); + uri129=uri(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_uri.add(uri137.getTree()); + if ( state.backtracking==0 ) stream_uri.add(uri129.getTree()); } break; } - pushFollow(FOLLOW_identifier_in_fieldReference1961); - identifier138=identifier(); + pushFollow(FOLLOW_identifier_in_fieldReference1889); + identifier130=identifier(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identifier.add(identifier138.getTree()); + if ( state.backtracking==0 ) stream_identifier.add(identifier130.getTree()); // AST REWRITE - // elements: identifier, uri, prefix + // elements: uri, identifier, prefix // token labels: // rule labels: retval // token list labels: @@ -5218,21 +4948,21 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 440:7: -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) + // 428:7: -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:440:10: ^( FIELD_REF identifier ( prefix )? ( uri )? ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:428:10: ^( FIELD_REF identifier ( prefix )? ( uri )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_REF, "FIELD_REF"), root_1); adaptor.addChild(root_1, stream_identifier.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:440:33: ( prefix )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:428:33: ( prefix )? if ( stream_prefix.hasNext() ) { adaptor.addChild(root_1, stream_prefix.nextTree()); } stream_prefix.reset(); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:440:41: ( uri )? + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:428:41: ( uri )? if ( stream_uri.hasNext() ) { adaptor.addChild(root_1, stream_uri.nextTree()); @@ -5266,198 +4996,38 @@ public class FTSParser extends Parser { } // $ANTLR end "fieldReference" - public static class tempReference_return extends ParserRuleReturnScope { - Object tree; - public Object getTree() { return tree; } - }; - - // $ANTLR start "tempReference" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:443:1: tempReference : ( AT )? ( prefix | uri )? identifier -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) ; - public final FTSParser.tempReference_return tempReference() throws RecognitionException { - FTSParser.tempReference_return retval = new FTSParser.tempReference_return(); - retval.start = input.LT(1); - - Object root_0 = null; - - Token AT139=null; - FTSParser.prefix_return prefix140 = null; - - FTSParser.uri_return uri141 = null; - - FTSParser.identifier_return identifier142 = null; - - - Object AT139_tree=null; - RewriteRuleTokenStream stream_AT=new RewriteRuleTokenStream(adaptor,"token AT"); - RewriteRuleSubtreeStream stream_prefix=new RewriteRuleSubtreeStream(adaptor,"rule prefix"); - RewriteRuleSubtreeStream stream_uri=new RewriteRuleSubtreeStream(adaptor,"rule uri"); - RewriteRuleSubtreeStream stream_identifier=new RewriteRuleSubtreeStream(adaptor,"rule identifier"); - try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:2: ( ( AT )? ( prefix | uri )? identifier -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:5: ( AT )? ( prefix | uri )? identifier - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:5: ( AT )? - int alt47=2; - int LA47_0 = input.LA(1); - - if ( (LA47_0==AT) ) { - alt47=1; - } - switch (alt47) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:5: AT - { - AT139=(Token)match(input,AT,FOLLOW_AT_in_tempReference1994); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_AT.add(AT139); - - - } - break; - - } - - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:9: ( prefix | uri )? - int alt48=3; - int LA48_0 = input.LA(1); - - if ( (LA48_0==ID) ) { - int LA48_1 = input.LA(2); - - if ( (LA48_1==COLON) ) { - alt48=1; - } - } - else if ( (LA48_0==URI) ) { - alt48=2; - } - switch (alt48) { - case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:10: prefix - { - pushFollow(FOLLOW_prefix_in_tempReference1998); - prefix140=prefix(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_prefix.add(prefix140.getTree()); - - } - break; - case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:444:17: uri - { - pushFollow(FOLLOW_uri_in_tempReference2000); - uri141=uri(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_uri.add(uri141.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_identifier_in_tempReference2004); - identifier142=identifier(); - - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identifier.add(identifier142.getTree()); - - - // AST REWRITE - // elements: identifier, prefix, uri - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); - - root_0 = (Object)adaptor.nil(); - // 445:7: -> ^( FIELD_REF identifier ( prefix )? ( uri )? ) - { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:445:10: ^( FIELD_REF identifier ( prefix )? ( uri )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FIELD_REF, "FIELD_REF"), root_1); - - adaptor.addChild(root_1, stream_identifier.nextTree()); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:445:33: ( prefix )? - if ( stream_prefix.hasNext() ) { - adaptor.addChild(root_1, stream_prefix.nextTree()); - - } - stream_prefix.reset(); - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:445:41: ( uri )? - if ( stream_uri.hasNext() ) { - adaptor.addChild(root_1, stream_uri.nextTree()); - - } - stream_uri.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0;} - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - - catch(RecognitionException e) - { - throw e; - } - finally { - } - return retval; - } - // $ANTLR end "tempReference" - public static class prefix_return extends ParserRuleReturnScope { Object tree; public Object getTree() { return tree; } }; // $ANTLR start "prefix" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:448:1: prefix : identifier COLON -> ^( PREFIX identifier ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:431:1: prefix : identifier COLON -> ^( PREFIX identifier ) ; public final FTSParser.prefix_return prefix() throws RecognitionException { FTSParser.prefix_return retval = new FTSParser.prefix_return(); retval.start = input.LT(1); Object root_0 = null; - Token COLON144=null; - FTSParser.identifier_return identifier143 = null; + Token COLON132=null; + FTSParser.identifier_return identifier131 = null; - Object COLON144_tree=null; + Object COLON132_tree=null; RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); RewriteRuleSubtreeStream stream_identifier=new RewriteRuleSubtreeStream(adaptor,"rule identifier"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:449:2: ( identifier COLON -> ^( PREFIX identifier ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:449:5: identifier COLON + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:432:2: ( identifier COLON -> ^( PREFIX identifier ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:432:5: identifier COLON { - pushFollow(FOLLOW_identifier_in_prefix2037); - identifier143=identifier(); + pushFollow(FOLLOW_identifier_in_prefix1922); + identifier131=identifier(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identifier.add(identifier143.getTree()); - COLON144=(Token)match(input,COLON,FOLLOW_COLON_in_prefix2039); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(COLON144); + if ( state.backtracking==0 ) stream_identifier.add(identifier131.getTree()); + COLON132=(Token)match(input,COLON,FOLLOW_COLON_in_prefix1924); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(COLON132); @@ -5473,9 +5043,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 450:3: -> ^( PREFIX identifier ) + // 433:3: -> ^( PREFIX identifier ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:450:6: ^( PREFIX identifier ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:433:6: ^( PREFIX identifier ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(PREFIX, "PREFIX"), root_1); @@ -5515,24 +5085,24 @@ public class FTSParser extends Parser { }; // $ANTLR start "uri" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:453:1: uri : URI -> ^( NAME_SPACE URI ) ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:436:1: uri : URI -> ^( NAME_SPACE URI ) ; public final FTSParser.uri_return uri() throws RecognitionException { FTSParser.uri_return retval = new FTSParser.uri_return(); retval.start = input.LT(1); Object root_0 = null; - Token URI145=null; + Token URI133=null; - Object URI145_tree=null; + Object URI133_tree=null; RewriteRuleTokenStream stream_URI=new RewriteRuleTokenStream(adaptor,"token URI"); try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:454:4: ( URI -> ^( NAME_SPACE URI ) ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:454:7: URI + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:437:4: ( URI -> ^( NAME_SPACE URI ) ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:437:7: URI { - URI145=(Token)match(input,URI,FOLLOW_URI_in_uri2065); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_URI.add(URI145); + URI133=(Token)match(input,URI,FOLLOW_URI_in_uri1950); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_URI.add(URI133); @@ -5548,9 +5118,9 @@ public class FTSParser extends Parser { RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); root_0 = (Object)adaptor.nil(); - // 455:5: -> ^( NAME_SPACE URI ) + // 438:5: -> ^( NAME_SPACE URI ) { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:455:8: ^( NAME_SPACE URI ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:438:8: ^( NAME_SPACE URI ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(NAME_SPACE, "NAME_SPACE"), root_1); @@ -5590,27 +5160,27 @@ public class FTSParser extends Parser { }; // $ANTLR start "identifier" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:458:1: identifier : ID ; + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:441:1: identifier : ID ; public final FTSParser.identifier_return identifier() throws RecognitionException { FTSParser.identifier_return retval = new FTSParser.identifier_return(); retval.start = input.LT(1); Object root_0 = null; - Token ID146=null; + Token ID134=null; - Object ID146_tree=null; + Object ID134_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:459:2: ( ID ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:459:4: ID + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:442:2: ( ID ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:442:4: ID { root_0 = (Object)adaptor.nil(); - ID146=(Token)match(input,ID,FOLLOW_ID_in_identifier2091); if (state.failed) return retval; + ID134=(Token)match(input,ID,FOLLOW_ID_in_identifier1976); if (state.failed) return retval; if ( state.backtracking==0 ) { - ID146_tree = (Object)adaptor.create(ID146); - adaptor.addChild(root_0, ID146_tree); + ID134_tree = (Object)adaptor.create(ID134); + adaptor.addChild(root_0, ID134_tree); } } @@ -5640,27 +5210,27 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsWord" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:462:1: ftsWord : ( ID | FTSWORD | FTSPRE | FTSWILD | OR | AND | NOT | TO | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:445:1: ftsWord : ( ID | FTSWORD | FTSPRE | FTSWILD | OR | AND | NOT | TO | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ); public final FTSParser.ftsWord_return ftsWord() throws RecognitionException { FTSParser.ftsWord_return retval = new FTSParser.ftsWord_return(); retval.start = input.LT(1); Object root_0 = null; - Token set147=null; + Token set135=null; - Object set147_tree=null; + Object set135_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:463:6: ( ID | FTSWORD | FTSPRE | FTSWILD | OR | AND | NOT | TO | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:446:6: ( ID | FTSWORD | FTSPRE | FTSWILD | OR | AND | NOT | TO | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { root_0 = (Object)adaptor.nil(); - set147=(Token)input.LT(1); + set135=(Token)input.LT(1); if ( input.LA(1)==DECIMAL_INTEGER_LITERAL||input.LA(1)==TO||(input.LA(1)>=ID && input.LA(1)<=FLOATING_POINT_LITERAL) ) { input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set147)); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set135)); state.errorRecovery=false;state.failed=false; } else { @@ -5697,27 +5267,27 @@ public class FTSParser extends Parser { }; // $ANTLR start "number" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:475:1: number : ( DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:458:1: number : ( DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ); public final FTSParser.number_return number() throws RecognitionException { FTSParser.number_return retval = new FTSParser.number_return(); retval.start = input.LT(1); Object root_0 = null; - Token set148=null; + Token set136=null; - Object set148_tree=null; + Object set136_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:476:6: ( DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:459:6: ( DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { root_0 = (Object)adaptor.nil(); - set148=(Token)input.LT(1); + set136=(Token)input.LT(1); if ( input.LA(1)==DECIMAL_INTEGER_LITERAL||input.LA(1)==FLOATING_POINT_LITERAL ) { input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set148)); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set136)); state.errorRecovery=false;state.failed=false; } else { @@ -5754,27 +5324,27 @@ public class FTSParser extends Parser { }; // $ANTLR start "ftsRangeWord" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:480:1: ftsRangeWord : ( ID | FTSWORD | FTSPRE | FTSWILD | FTSPHRASE | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:463:1: ftsRangeWord : ( ID | FTSWORD | FTSPRE | FTSWILD | FTSPHRASE | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ); public final FTSParser.ftsRangeWord_return ftsRangeWord() throws RecognitionException { FTSParser.ftsRangeWord_return retval = new FTSParser.ftsRangeWord_return(); retval.start = input.LT(1); Object root_0 = null; - Token set149=null; + Token set137=null; - Object set149_tree=null; + Object set137_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:481:6: ( ID | FTSWORD | FTSPRE | FTSWILD | FTSPHRASE | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:464:6: ( ID | FTSWORD | FTSPRE | FTSWILD | FTSPHRASE | DECIMAL_INTEGER_LITERAL | FLOATING_POINT_LITERAL ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { root_0 = (Object)adaptor.nil(); - set149=(Token)input.LT(1); + set137=(Token)input.LT(1); if ( input.LA(1)==DECIMAL_INTEGER_LITERAL||input.LA(1)==FTSPHRASE||(input.LA(1)>=ID && input.LA(1)<=FTSWILD)||input.LA(1)==FLOATING_POINT_LITERAL ) { input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set149)); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set137)); state.errorRecovery=false;state.failed=false; } else { @@ -5811,67 +5381,67 @@ public class FTSParser extends Parser { }; // $ANTLR start "or" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:490:1: or : ( OR | BAR BAR ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:473:1: or : ( OR | BAR BAR ); public final FTSParser.or_return or() throws RecognitionException { FTSParser.or_return retval = new FTSParser.or_return(); retval.start = input.LT(1); Object root_0 = null; - Token OR150=null; - Token BAR151=null; - Token BAR152=null; + Token OR138=null; + Token BAR139=null; + Token BAR140=null; - Object OR150_tree=null; - Object BAR151_tree=null; - Object BAR152_tree=null; + Object OR138_tree=null; + Object BAR139_tree=null; + Object BAR140_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:491:6: ( OR | BAR BAR ) - int alt49=2; - int LA49_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:474:6: ( OR | BAR BAR ) + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA49_0==OR) ) { - alt49=1; + if ( (LA44_0==OR) ) { + alt44=1; } - else if ( (LA49_0==BAR) ) { - alt49=2; + else if ( (LA44_0==BAR) ) { + alt44=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 49, 0, input); + new NoViableAltException("", 44, 0, input); throw nvae; } - switch (alt49) { + switch (alt44) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:491:11: OR + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:474:11: OR { root_0 = (Object)adaptor.nil(); - OR150=(Token)match(input,OR,FOLLOW_OR_in_or2375); if (state.failed) return retval; + OR138=(Token)match(input,OR,FOLLOW_OR_in_or2260); if (state.failed) return retval; if ( state.backtracking==0 ) { - OR150_tree = (Object)adaptor.create(OR150); - adaptor.addChild(root_0, OR150_tree); + OR138_tree = (Object)adaptor.create(OR138); + adaptor.addChild(root_0, OR138_tree); } } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:492:8: BAR BAR + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:475:8: BAR BAR { root_0 = (Object)adaptor.nil(); - BAR151=(Token)match(input,BAR,FOLLOW_BAR_in_or2384); if (state.failed) return retval; + BAR139=(Token)match(input,BAR,FOLLOW_BAR_in_or2269); if (state.failed) return retval; if ( state.backtracking==0 ) { - BAR151_tree = (Object)adaptor.create(BAR151); - adaptor.addChild(root_0, BAR151_tree); + BAR139_tree = (Object)adaptor.create(BAR139); + adaptor.addChild(root_0, BAR139_tree); } - BAR152=(Token)match(input,BAR,FOLLOW_BAR_in_or2386); if (state.failed) return retval; + BAR140=(Token)match(input,BAR,FOLLOW_BAR_in_or2271); if (state.failed) return retval; if ( state.backtracking==0 ) { - BAR152_tree = (Object)adaptor.create(BAR152); - adaptor.addChild(root_0, BAR152_tree); + BAR140_tree = (Object)adaptor.create(BAR140); + adaptor.addChild(root_0, BAR140_tree); } } @@ -5903,67 +5473,67 @@ public class FTSParser extends Parser { }; // $ANTLR start "and" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:495:1: and : ( AND | AMP AMP ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:478:1: and : ( AND | AMP AMP ); public final FTSParser.and_return and() throws RecognitionException { FTSParser.and_return retval = new FTSParser.and_return(); retval.start = input.LT(1); Object root_0 = null; - Token AND153=null; - Token AMP154=null; - Token AMP155=null; + Token AND141=null; + Token AMP142=null; + Token AMP143=null; - Object AND153_tree=null; - Object AMP154_tree=null; - Object AMP155_tree=null; + Object AND141_tree=null; + Object AMP142_tree=null; + Object AMP143_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:496:6: ( AND | AMP AMP ) - int alt50=2; - int LA50_0 = input.LA(1); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:479:6: ( AND | AMP AMP ) + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA50_0==AND) ) { - alt50=1; + if ( (LA45_0==AND) ) { + alt45=1; } - else if ( (LA50_0==AMP) ) { - alt50=2; + else if ( (LA45_0==AMP) ) { + alt45=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 50, 0, input); + new NoViableAltException("", 45, 0, input); throw nvae; } - switch (alt50) { + switch (alt45) { case 1 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:496:8: AND + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:479:8: AND { root_0 = (Object)adaptor.nil(); - AND153=(Token)match(input,AND,FOLLOW_AND_in_and2410); if (state.failed) return retval; + AND141=(Token)match(input,AND,FOLLOW_AND_in_and2295); if (state.failed) return retval; if ( state.backtracking==0 ) { - AND153_tree = (Object)adaptor.create(AND153); - adaptor.addChild(root_0, AND153_tree); + AND141_tree = (Object)adaptor.create(AND141); + adaptor.addChild(root_0, AND141_tree); } } break; case 2 : - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:497:8: AMP AMP + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:480:8: AMP AMP { root_0 = (Object)adaptor.nil(); - AMP154=(Token)match(input,AMP,FOLLOW_AMP_in_and2419); if (state.failed) return retval; + AMP142=(Token)match(input,AMP,FOLLOW_AMP_in_and2304); if (state.failed) return retval; if ( state.backtracking==0 ) { - AMP154_tree = (Object)adaptor.create(AMP154); - adaptor.addChild(root_0, AMP154_tree); + AMP142_tree = (Object)adaptor.create(AMP142); + adaptor.addChild(root_0, AMP142_tree); } - AMP155=(Token)match(input,AMP,FOLLOW_AMP_in_and2421); if (state.failed) return retval; + AMP143=(Token)match(input,AMP,FOLLOW_AMP_in_and2306); if (state.failed) return retval; if ( state.backtracking==0 ) { - AMP155_tree = (Object)adaptor.create(AMP155); - adaptor.addChild(root_0, AMP155_tree); + AMP143_tree = (Object)adaptor.create(AMP143); + adaptor.addChild(root_0, AMP143_tree); } } @@ -5995,27 +5565,27 @@ public class FTSParser extends Parser { }; // $ANTLR start "not" - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:500:1: not : ( NOT | EXCLAMATION ); + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:483:1: not : ( NOT | EXCLAMATION ); public final FTSParser.not_return not() throws RecognitionException { FTSParser.not_return retval = new FTSParser.not_return(); retval.start = input.LT(1); Object root_0 = null; - Token set156=null; + Token set144=null; - Object set156_tree=null; + Object set144_tree=null; try { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:501:6: ( NOT | EXCLAMATION ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:484:6: ( NOT | EXCLAMATION ) // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g: { root_0 = (Object)adaptor.nil(); - set156=(Token)input.LT(1); + set144=(Token)input.LT(1); if ( input.LA(1)==NOT||input.LA(1)==EXCLAMATION ) { input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set156)); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set144)); state.errorRecovery=false;state.failed=false; } else { @@ -6048,10 +5618,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred1_FTS public final void synpred1_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:230:27: ( or ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:230:28: or + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:228:27: ( or ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:228:28: or { - pushFollow(FOLLOW_or_in_synpred1_FTS341); + pushFollow(FOLLOW_or_in_synpred1_FTS335); or(); state._fsp--; @@ -6063,10 +5633,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred2_FTS public final void synpred2_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:238:17: ( and ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:238:18: and + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:236:17: ( and ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:236:18: and { - pushFollow(FOLLOW_and_in_synpred2_FTS379); + pushFollow(FOLLOW_and_in_synpred2_FTS373); and(); state._fsp--; @@ -6078,10 +5648,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred3_FTS public final void synpred3_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:8: ( not ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:249:9: not + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:247:8: ( not ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:247:9: not { - pushFollow(FOLLOW_not_in_synpred3_FTS422); + pushFollow(FOLLOW_not_in_synpred3_FTS416); not(); state._fsp--; @@ -6093,10 +5663,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred4_FTS public final void synpred4_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:17: ( fuzzy ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:18: fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:263:17: ( fuzzy ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:263:18: fuzzy { - pushFollow(FOLLOW_fuzzy_in_synpred4_FTS631); + pushFollow(FOLLOW_fuzzy_in_synpred4_FTS625); fuzzy(); state._fsp--; @@ -6108,10 +5678,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred5_FTS public final void synpred5_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:18: ( fuzzy ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:19: fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:18: ( fuzzy ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:265:19: fuzzy { - pushFollow(FOLLOW_fuzzy_in_synpred5_FTS660); + pushFollow(FOLLOW_fuzzy_in_synpred5_FTS654); fuzzy(); state._fsp--; @@ -6123,10 +5693,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred6_FTS public final void synpred6_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:22: ( slop ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:23: slop + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:22: ( slop ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:267:23: slop { - pushFollow(FOLLOW_slop_in_synpred6_FTS696); + pushFollow(FOLLOW_slop_in_synpred6_FTS690); slop(); state._fsp--; @@ -6138,10 +5708,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred7_FTS public final void synpred7_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:271:23: ( fuzzy ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:271:24: fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:23: ( fuzzy ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:269:24: fuzzy { - pushFollow(FOLLOW_fuzzy_in_synpred7_FTS739); + pushFollow(FOLLOW_fuzzy_in_synpred7_FTS733); fuzzy(); state._fsp--; @@ -6153,10 +5723,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred8_FTS public final void synpred8_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:37: ( or ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:347:38: or + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:37: ( or ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:335:38: or { - pushFollow(FOLLOW_or_in_synpred8_FTS1226); + pushFollow(FOLLOW_or_in_synpred8_FTS1154); or(); state._fsp--; @@ -6168,10 +5738,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred9_FTS public final void synpred9_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:27: ( and ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:352:28: and + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:27: ( and ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:340:28: and { - pushFollow(FOLLOW_and_in_synpred9_FTS1262); + pushFollow(FOLLOW_and_in_synpred9_FTS1190); and(); state._fsp--; @@ -6183,10 +5753,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred10_FTS public final void synpred10_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:358:4: ( not ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:358:5: not + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:4: ( not ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:346:5: not { - pushFollow(FOLLOW_not_in_synpred10_FTS1299); + pushFollow(FOLLOW_not_in_synpred10_FTS1227); not(); state._fsp--; @@ -6198,10 +5768,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred11_FTS public final void synpred11_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:23: ( fuzzy ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:372:24: fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:23: ( fuzzy ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:360:24: fuzzy { - pushFollow(FOLLOW_fuzzy_in_synpred11_FTS1495); + pushFollow(FOLLOW_fuzzy_in_synpred11_FTS1423); fuzzy(); state._fsp--; @@ -6213,10 +5783,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred12_FTS public final void synpred12_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:374:28: ( fuzzy ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:374:29: fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:28: ( fuzzy ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:362:29: fuzzy { - pushFollow(FOLLOW_fuzzy_in_synpred12_FTS1524); + pushFollow(FOLLOW_fuzzy_in_synpred12_FTS1452); fuzzy(); state._fsp--; @@ -6228,10 +5798,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred13_FTS public final void synpred13_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:376:25: ( slop ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:376:26: slop + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:25: ( slop ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:364:26: slop { - pushFollow(FOLLOW_slop_in_synpred13_FTS1553); + pushFollow(FOLLOW_slop_in_synpred13_FTS1481); slop(); state._fsp--; @@ -6243,10 +5813,10 @@ public class FTSParser extends Parser { // $ANTLR start synpred14_FTS public final void synpred14_FTS_fragment() throws RecognitionException { - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:378:26: ( fuzzy ) - // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:378:27: fuzzy + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:26: ( fuzzy ) + // W:\\alfresco\\HEAD\\root\\projects\\Repository\\source\\java\\org\\alfresco\\repo\\search\\impl\\parsers\\FTS.g:366:27: fuzzy { - pushFollow(FOLLOW_fuzzy_in_synpred14_FTS1584); + pushFollow(FOLLOW_fuzzy_in_synpred14_FTS1512); fuzzy(); state._fsp--; @@ -6461,29 +6031,28 @@ public class FTSParser extends Parser { protected DFA5 dfa5 = new DFA5(this); protected DFA11 dfa11 = new DFA11(this); protected DFA16 dfa16 = new DFA16(this); - protected DFA25 dfa25 = new DFA25(this); - protected DFA26 dfa26 = new DFA26(this); - protected DFA27 dfa27 = new DFA27(this); - protected DFA33 dfa33 = new DFA33(this); - protected DFA38 dfa38 = new DFA38(this); + protected DFA22 dfa22 = new DFA22(this); + protected DFA23 dfa23 = new DFA23(this); + protected DFA24 dfa24 = new DFA24(this); + protected DFA30 dfa30 = new DFA30(this); + protected DFA35 dfa35 = new DFA35(this); static final String DFA3_eotS = - "\24\uffff"; + "\23\uffff"; static final String DFA3_eofS = - "\24\uffff"; + "\23\uffff"; static final String DFA3_minS = - "\1\51\21\0\2\uffff"; + "\1\50\20\0\2\uffff"; static final String DFA3_maxS = - "\1\110\21\0\2\uffff"; + "\1\105\20\0\2\uffff"; static final String DFA3_acceptS = - "\22\uffff\1\1\1\2"; + "\21\uffff\1\1\1\2"; static final String DFA3_specialS = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+ - "\14\1\15\1\16\1\17\1\20\2\uffff}>"; + "\14\1\15\1\16\1\17\2\uffff}>"; static final String[] DFA3_transitionS = { - "\1\17\1\20\1\21\1\15\1\uffff\1\16\1\uffff\1\11\1\6\2\uffff"+ - "\1\7\1\10\2\uffff\1\12\1\13\1\14\2\uffff\1\2\1\4\1\3\3\6\2\12"+ - "\1\1\1\6\1\uffff\1\5", - "\1\uffff", + "\1\16\1\17\1\20\1\15\1\uffff\1\11\1\6\2\uffff\1\7\1\10\2\uffff"+ + "\1\12\1\13\1\14\2\uffff\1\2\1\4\1\3\3\6\2\12\1\1\1\6\1\uffff"+ + "\1\5", "\1\uffff", "\1\uffff", "\1\uffff", @@ -6534,7 +6103,7 @@ public class FTSParser extends Parser { this.transition = DFA3_transition; } public String getDescription() { - return "218:1: ftsImplicitConjunctionOrDisjunction : ({...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) | ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) );"; + return "216:1: ftsImplicitConjunctionOrDisjunction : ({...}? ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( CONJUNCTION ( ftsExplicitDisjunction )+ ) | ftsExplicitDisjunction ( ftsExplicitDisjunction )* -> ^( DISJUNCTION ( ftsExplicitDisjunction )+ ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -6547,9 +6116,9 @@ public class FTSParser extends Parser { int index3_1 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_1); @@ -6562,9 +6131,9 @@ public class FTSParser extends Parser { int index3_2 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_2); @@ -6577,9 +6146,9 @@ public class FTSParser extends Parser { int index3_3 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_3); @@ -6592,9 +6161,9 @@ public class FTSParser extends Parser { int index3_4 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_4); @@ -6607,9 +6176,9 @@ public class FTSParser extends Parser { int index3_5 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_5); @@ -6622,9 +6191,9 @@ public class FTSParser extends Parser { int index3_6 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_6); @@ -6637,9 +6206,9 @@ public class FTSParser extends Parser { int index3_7 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_7); @@ -6652,9 +6221,9 @@ public class FTSParser extends Parser { int index3_8 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_8); @@ -6667,9 +6236,9 @@ public class FTSParser extends Parser { int index3_9 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_9); @@ -6682,9 +6251,9 @@ public class FTSParser extends Parser { int index3_10 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_10); @@ -6697,9 +6266,9 @@ public class FTSParser extends Parser { int index3_11 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_11); @@ -6712,9 +6281,9 @@ public class FTSParser extends Parser { int index3_12 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_12); @@ -6727,9 +6296,9 @@ public class FTSParser extends Parser { int index3_13 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_13); @@ -6742,9 +6311,9 @@ public class FTSParser extends Parser { int index3_14 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_14); @@ -6757,9 +6326,9 @@ public class FTSParser extends Parser { int index3_15 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_15); @@ -6772,29 +6341,14 @@ public class FTSParser extends Parser { int index3_16 = input.index(); input.rewind(); s = -1; - if ( ((defaultConjunction())) ) {s = 18;} + if ( ((defaultConjunction())) ) {s = 17;} - else if ( (true) ) {s = 19;} + else if ( (true) ) {s = 18;} input.seek(index3_16); if ( s>=0 ) return s; break; - case 16 : - int LA3_17 = input.LA(1); - - - int index3_17 = input.index(); - input.rewind(); - s = -1; - if ( ((defaultConjunction())) ) {s = 18;} - - else if ( (true) ) {s = 19;} - - - input.seek(index3_17); - if ( s>=0 ) return s; - break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = @@ -6804,20 +6358,20 @@ public class FTSParser extends Parser { } } static final String DFA4_eotS = - "\26\uffff"; + "\25\uffff"; static final String DFA4_eofS = - "\1\1\25\uffff"; + "\1\1\24\uffff"; static final String DFA4_minS = - "\1\51\11\uffff\1\0\5\uffff\1\0\5\uffff"; + "\1\50\11\uffff\1\0\4\uffff\1\0\5\uffff"; static final String DFA4_maxS = - "\1\110\11\uffff\1\0\5\uffff\1\0\5\uffff"; + "\1\105\11\uffff\1\0\4\uffff\1\0\5\uffff"; static final String DFA4_acceptS = - "\1\uffff\1\2\23\uffff\1\1"; + "\1\uffff\1\2\22\uffff\1\1"; static final String DFA4_specialS = - "\12\uffff\1\0\5\uffff\1\1\5\uffff}>"; + "\12\uffff\1\0\4\uffff\1\1\5\uffff}>"; static final String[] DFA4_transitionS = { - "\1\1\1\20\4\1\1\uffff\2\1\2\uffff\2\1\2\uffff\3\1\2\uffff\6"+ - "\1\1\12\3\1\1\uffff\1\1", + "\1\1\1\17\5\1\2\uffff\2\1\2\uffff\3\1\2\uffff\6\1\1\12\3\1"+ + "\1\uffff\1\1", "", "", "", @@ -6832,7 +6386,6 @@ public class FTSParser extends Parser { "", "", "", - "", "\1\uffff", "", "", @@ -6871,7 +6424,7 @@ public class FTSParser extends Parser { this.transition = DFA4_transition; } public String getDescription() { - return "()* loopback of 230:26: ( ( or )=> or ftsExplictConjunction )*"; + return "()* loopback of 228:26: ( ( or )=> or ftsExplictConjunction )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -6884,7 +6437,7 @@ public class FTSParser extends Parser { int index4_10 = input.index(); input.rewind(); s = -1; - if ( (synpred1_FTS()) ) {s = 21;} + if ( (synpred1_FTS()) ) {s = 20;} else if ( (true) ) {s = 1;} @@ -6893,18 +6446,18 @@ public class FTSParser extends Parser { if ( s>=0 ) return s; break; case 1 : - int LA4_16 = input.LA(1); + int LA4_15 = input.LA(1); - int index4_16 = input.index(); + int index4_15 = input.index(); input.rewind(); s = -1; - if ( (synpred1_FTS()) ) {s = 21;} + if ( (synpred1_FTS()) ) {s = 20;} else if ( (true) ) {s = 1;} - input.seek(index4_16); + input.seek(index4_15); if ( s>=0 ) return s; break; } @@ -6916,20 +6469,19 @@ public class FTSParser extends Parser { } } static final String DFA5_eotS = - "\27\uffff"; + "\26\uffff"; static final String DFA5_eofS = - "\1\1\26\uffff"; + "\1\1\25\uffff"; static final String DFA5_minS = - "\1\51\13\uffff\1\0\12\uffff"; + "\1\50\13\uffff\1\0\11\uffff"; static final String DFA5_maxS = - "\1\110\13\uffff\1\0\12\uffff"; + "\1\105\13\uffff\1\0\11\uffff"; static final String DFA5_acceptS = - "\1\uffff\1\2\24\uffff\1\1"; + "\1\uffff\1\2\23\uffff\1\1"; static final String DFA5_specialS = - "\1\0\13\uffff\1\1\12\uffff}>"; + "\1\0\13\uffff\1\1\11\uffff}>"; static final String[] DFA5_transitionS = { - "\6\1\1\uffff\2\1\2\uffff\2\1\2\uffff\3\1\2\uffff\7\1\1\14\2"+ - "\1\1\26\1\1", + "\7\1\2\uffff\2\1\2\uffff\3\1\2\uffff\7\1\1\14\2\1\1\25\1\1", "", "", "", @@ -6950,7 +6502,6 @@ public class FTSParser extends Parser { "", "", "", - "", "" }; @@ -6984,7 +6535,7 @@ public class FTSParser extends Parser { this.transition = DFA5_transition; } public String getDescription() { - return "()* loopback of 238:16: ( ( and )=> and ftsPrefixed )*"; + return "()* loopback of 236:16: ( ( and )=> and ftsPrefixed )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -6997,11 +6548,11 @@ public class FTSParser extends Parser { int index5_0 = input.index(); input.rewind(); s = -1; - if ( (LA5_0==EOF||(LA5_0>=PLUS && LA5_0<=PERCENT)||(LA5_0>=TILDA && LA5_0<=DECIMAL_INTEGER_LITERAL)||(LA5_0>=EQUALS && LA5_0<=FTSPHRASE)||(LA5_0>=TO && LA5_0<=LT)||(LA5_0>=AT && LA5_0<=OR)||(LA5_0>=NOT && LA5_0<=FLOATING_POINT_LITERAL)||LA5_0==EXCLAMATION) ) {s = 1;} + if ( (LA5_0==EOF||(LA5_0>=PLUS && LA5_0<=DECIMAL_INTEGER_LITERAL)||(LA5_0>=EQUALS && LA5_0<=FTSPHRASE)||(LA5_0>=TO && LA5_0<=LT)||(LA5_0>=AT && LA5_0<=OR)||(LA5_0>=NOT && LA5_0<=FLOATING_POINT_LITERAL)||LA5_0==EXCLAMATION) ) {s = 1;} else if ( (LA5_0==AND) ) {s = 12;} - else if ( (LA5_0==AMP) && (synpred2_FTS())) {s = 22;} + else if ( (LA5_0==AMP) && (synpred2_FTS())) {s = 21;} input.seek(index5_0); @@ -7014,7 +6565,7 @@ public class FTSParser extends Parser { int index5_12 = input.index(); input.rewind(); s = -1; - if ( (synpred2_FTS()) ) {s = 22;} + if ( (synpred2_FTS()) ) {s = 21;} else if ( (true) ) {s = 1;} @@ -7031,20 +6582,20 @@ public class FTSParser extends Parser { } } static final String DFA11_eotS = - "\22\uffff"; + "\21\uffff"; static final String DFA11_eofS = - "\22\uffff"; + "\21\uffff"; static final String DFA11_minS = - "\1\51\1\0\20\uffff"; + "\1\50\1\0\17\uffff"; static final String DFA11_maxS = - "\1\110\1\0\20\uffff"; + "\1\105\1\0\17\uffff"; static final String DFA11_acceptS = - "\2\uffff\1\2\2\uffff\1\1\11\uffff\1\3\1\4\1\5"; + "\2\uffff\1\2\2\uffff\1\1\10\uffff\1\3\1\4\1\5"; static final String DFA11_specialS = - "\1\0\1\1\20\uffff}>"; + "\1\0\1\1\17\uffff}>"; static final String[] DFA11_transitionS = { - "\1\17\1\20\1\21\1\2\1\uffff\1\2\1\uffff\2\2\2\uffff\2\2\2\uffff"+ - "\3\2\2\uffff\10\2\1\1\1\2\1\uffff\1\5", + "\1\16\1\17\1\20\1\2\1\uffff\2\2\2\uffff\2\2\2\uffff\3\2\2\uffff"+ + "\10\2\1\1\1\2\1\uffff\1\5", "\1\uffff", "", "", @@ -7060,7 +6611,6 @@ public class FTSParser extends Parser { "", "", "", - "", "" }; @@ -7094,7 +6644,7 @@ public class FTSParser extends Parser { this.transition = DFA11_transition; } public String getDescription() { - return "248:1: ftsPrefixed : ( ( not )=> not ftsTest ( boost )? -> ^( NEGATION ftsTest ( boost )? ) | ftsTest ( boost )? -> ^( DEFAULT ftsTest ( boost )? ) | PLUS ftsTest ( boost )? -> ^( MANDATORY ftsTest ( boost )? ) | BAR ftsTest ( boost )? -> ^( OPTIONAL ftsTest ( boost )? ) | MINUS ftsTest ( boost )? -> ^( EXCLUDE ftsTest ( boost )? ) );"; + return "246:1: ftsPrefixed : ( ( not )=> not ftsTest ( boost )? -> ^( NEGATION ftsTest ( boost )? ) | ftsTest ( boost )? -> ^( DEFAULT ftsTest ( boost )? ) | PLUS ftsTest ( boost )? -> ^( MANDATORY ftsTest ( boost )? ) | BAR ftsTest ( boost )? -> ^( OPTIONAL ftsTest ( boost )? ) | MINUS ftsTest ( boost )? -> ^( EXCLUDE ftsTest ( boost )? ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -7109,15 +6659,15 @@ public class FTSParser extends Parser { s = -1; if ( (LA11_0==NOT) ) {s = 1;} - else if ( (LA11_0==LPAREN||LA11_0==PERCENT||(LA11_0>=TILDA && LA11_0<=DECIMAL_INTEGER_LITERAL)||(LA11_0>=EQUALS && LA11_0<=FTSPHRASE)||(LA11_0>=TO && LA11_0<=LT)||(LA11_0>=AT && LA11_0<=AND)||LA11_0==FLOATING_POINT_LITERAL) ) {s = 2;} + else if ( (LA11_0==LPAREN||(LA11_0>=TILDA && LA11_0<=DECIMAL_INTEGER_LITERAL)||(LA11_0>=EQUALS && LA11_0<=FTSPHRASE)||(LA11_0>=TO && LA11_0<=LT)||(LA11_0>=AT && LA11_0<=AND)||LA11_0==FLOATING_POINT_LITERAL) ) {s = 2;} else if ( (LA11_0==EXCLAMATION) && (synpred3_FTS())) {s = 5;} - else if ( (LA11_0==PLUS) ) {s = 15;} + else if ( (LA11_0==PLUS) ) {s = 14;} - else if ( (LA11_0==BAR) ) {s = 16;} + else if ( (LA11_0==BAR) ) {s = 15;} - else if ( (LA11_0==MINUS) ) {s = 17;} + else if ( (LA11_0==MINUS) ) {s = 16;} input.seek(index11_0); @@ -7147,52 +6697,46 @@ public class FTSParser extends Parser { } } static final String DFA16_eotS = - "\26\uffff"; + "\25\uffff"; static final String DFA16_eofS = - "\2\uffff\1\15\1\uffff\1\15\1\uffff\1\21\1\uffff\1\15\12\uffff\2"+ - "\15\1\uffff"; + "\2\uffff\1\14\1\uffff\1\14\1\uffff\1\20\1\uffff\1\14\11\uffff\2"+ + "\14\1\uffff"; static final String DFA16_minS = - "\1\54\1\76\1\51\1\77\1\51\1\uffff\1\51\1\uffff\1\51\3\uffff\1\63"+ - "\1\uffff\1\54\1\uffff\1\63\2\uffff\2\51\1\54"; + "\1\53\1\73\1\50\1\74\1\50\1\uffff\1\50\1\uffff\1\50\2\uffff\1\60"+ + "\1\uffff\1\53\1\uffff\1\60\2\uffff\2\50\1\53"; static final String DFA16_maxS = - "\1\106\1\77\1\110\1\77\1\110\1\uffff\1\110\1\uffff\1\110\3\uffff"+ - "\1\63\1\uffff\1\106\1\uffff\1\63\2\uffff\2\110\1\106"; + "\1\103\1\74\1\105\1\74\1\105\1\uffff\1\105\1\uffff\1\105\2\uffff"+ + "\1\60\1\uffff\1\103\1\uffff\1\60\2\uffff\2\105\1\103"; static final String DFA16_acceptS = - "\5\uffff\1\2\1\uffff\1\4\1\uffff\1\6\1\10\1\11\1\uffff\1\1\1\uffff"+ - "\1\5\1\uffff\1\3\1\7\3\uffff"; + "\5\uffff\1\2\1\uffff\1\4\1\uffff\1\6\1\10\1\uffff\1\1\1\uffff\1"+ + "\5\1\uffff\1\3\1\7\3\uffff"; static final String DFA16_specialS = - "\26\uffff}>"; + "\25\uffff}>"; static final String[] DFA16_transitionS = { - "\1\12\1\uffff\1\13\1\uffff\1\7\1\4\2\uffff\1\5\1\6\2\uffff"+ - "\1\10\2\11\2\uffff\1\1\1\3\1\2\3\4\3\10\1\4", - "\1\3\1\14", - "\6\15\1\uffff\3\15\1\16\2\15\1\17\1\11\3\15\2\uffff\14\15", - "\1\20", - "\6\15\1\uffff\3\15\1\uffff\2\15\1\17\1\11\3\15\2\uffff\14"+ - "\15", + "\1\12\1\uffff\1\7\1\4\2\uffff\1\5\1\6\2\uffff\1\10\2\11\2\uffff"+ + "\1\1\1\3\1\2\3\4\3\10\1\4", + "\1\3\1\13", + "\10\14\1\15\2\14\1\16\1\11\3\14\2\uffff\14\14", + "\1\17", + "\10\14\1\uffff\2\14\1\16\1\11\3\14\2\uffff\14\14", "", - "\6\21\1\uffff\3\21\1\uffff\2\21\1\uffff\1\11\3\21\2\uffff"+ - "\14\21", + "\10\20\1\uffff\2\20\1\uffff\1\11\3\20\2\uffff\14\20", "", - "\6\15\1\uffff\3\15\1\uffff\2\15\1\17\1\uffff\3\15\2\uffff"+ - "\14\15", + "\10\14\1\uffff\2\14\1\16\1\uffff\3\14\2\uffff\14\14", "", "", + "\1\15", "", - "\1\16", + "\1\21\2\uffff\1\23\3\uffff\1\6\2\uffff\1\14\2\11\4\uffff\1"+ + "\22\3\23\3\14\1\23", "", - "\1\22\4\uffff\1\24\3\uffff\1\6\2\uffff\1\15\2\11\4\uffff\1"+ - "\23\3\24\3\15\1\24", - "", - "\1\25", + "\1\24", "", "", - "\6\15\1\uffff\3\15\1\25\2\15\1\uffff\1\11\3\15\2\uffff\14"+ - "\15", - "\6\15\1\uffff\3\15\1\uffff\2\15\1\uffff\1\11\3\15\2\uffff"+ - "\14\15", - "\1\22\4\uffff\1\24\3\uffff\1\6\2\uffff\1\15\2\11\4\uffff\4"+ - "\24\3\15\1\24" + "\10\14\1\24\2\14\1\uffff\1\11\3\14\2\uffff\14\14", + "\10\14\1\uffff\2\14\1\uffff\1\11\3\14\2\uffff\14\14", + "\1\21\2\uffff\1\23\3\uffff\1\6\2\uffff\1\14\2\11\4\uffff\4"+ + "\23\3\14\1\23" }; static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS); @@ -7225,24 +6769,24 @@ public class FTSParser extends Parser { this.transition = DFA16_transition; } public String getDescription() { - return "264:1: ftsTest : ( ftsTerm ( ( fuzzy )=> fuzzy )? -> ^( TERM ftsTerm ( fuzzy )? ) | ftsExactTerm ( ( fuzzy )=> fuzzy )? -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) | ftsPhrase ( ( slop )=> slop )? -> ^( PHRASE ftsPhrase ( slop )? ) | ftsSynonym ( ( fuzzy )=> fuzzy )? -> ^( SYNONYM ftsSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( PROXIMITY ftsFieldGroupProximity ) | ftsRange -> ^( RANGE ftsRange ) | ftsFieldGroup -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction | template -> template );"; + return "262:1: ftsTest : ( ftsTerm ( ( fuzzy )=> fuzzy )? -> ^( TERM ftsTerm ( fuzzy )? ) | ftsExactTerm ( ( fuzzy )=> fuzzy )? -> ^( EXACT_TERM ftsExactTerm ( fuzzy )? ) | ftsPhrase ( ( slop )=> slop )? -> ^( PHRASE ftsPhrase ( slop )? ) | ftsSynonym ( ( fuzzy )=> fuzzy )? -> ^( SYNONYM ftsSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( PROXIMITY ftsFieldGroupProximity ) | ftsRange -> ^( RANGE ftsRange ) | ftsFieldGroup -> ftsFieldGroup | LPAREN ftsImplicitConjunctionOrDisjunction RPAREN -> ftsImplicitConjunctionOrDisjunction );"; } } - static final String DFA25_eotS = + static final String DFA22_eotS = "\20\uffff"; - static final String DFA25_eofS = + static final String DFA22_eofS = "\20\uffff"; - static final String DFA25_minS = - "\1\51\15\0\2\uffff"; - static final String DFA25_maxS = - "\1\110\15\0\2\uffff"; - static final String DFA25_acceptS = + static final String DFA22_minS = + "\1\50\15\0\2\uffff"; + static final String DFA22_maxS = + "\1\105\15\0\2\uffff"; + static final String DFA22_acceptS = "\16\uffff\1\1\1\2"; - static final String DFA25_specialS = + static final String DFA22_specialS = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+ "\14\2\uffff}>"; - static final String[] DFA25_transitionS = { - "\1\13\1\14\1\15\1\12\3\uffff\1\6\1\3\2\uffff\1\4\1\5\2\uffff"+ + static final String[] DFA22_transitionS = { + "\1\13\1\14\1\15\1\12\1\uffff\1\6\1\3\2\uffff\1\4\1\5\2\uffff"+ "\1\7\1\10\1\11\4\uffff\4\3\2\7\1\1\1\3\1\uffff\1\2", "\1\uffff", "\1\uffff", @@ -7261,47 +6805,47 @@ public class FTSParser extends Parser { "" }; - static final short[] DFA25_eot = DFA.unpackEncodedString(DFA25_eotS); - static final short[] DFA25_eof = DFA.unpackEncodedString(DFA25_eofS); - static final char[] DFA25_min = DFA.unpackEncodedStringToUnsignedChars(DFA25_minS); - static final char[] DFA25_max = DFA.unpackEncodedStringToUnsignedChars(DFA25_maxS); - static final short[] DFA25_accept = DFA.unpackEncodedString(DFA25_acceptS); - static final short[] DFA25_special = DFA.unpackEncodedString(DFA25_specialS); - static final short[][] DFA25_transition; + static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS); + static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS); + static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS); + static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS); + static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS); + static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS); + static final short[][] DFA22_transition; static { - int numStates = DFA25_transitionS.length; - DFA25_transition = new short[numStates][]; + int numStates = DFA22_transitionS.length; + DFA22_transition = new short[numStates][]; for (int i=0; i ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) | ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) );"; + return "327:1: ftsFieldGroupImplicitConjunctionOrDisjunction : ({...}? ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_CONJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) | ftsFieldGroupExplicitDisjunction ( ftsFieldGroupExplicitDisjunction )* -> ^( FIELD_DISJUNCTION ( ftsFieldGroupExplicitDisjunction )+ ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA25_1 = input.LA(1); + int LA22_1 = input.LA(1); - int index25_1 = input.index(); + int index22_1 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7309,14 +6853,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_1); + input.seek(index22_1); if ( s>=0 ) return s; break; case 1 : - int LA25_2 = input.LA(1); + int LA22_2 = input.LA(1); - int index25_2 = input.index(); + int index22_2 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7324,14 +6868,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_2); + input.seek(index22_2); if ( s>=0 ) return s; break; case 2 : - int LA25_3 = input.LA(1); + int LA22_3 = input.LA(1); - int index25_3 = input.index(); + int index22_3 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7339,14 +6883,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_3); + input.seek(index22_3); if ( s>=0 ) return s; break; case 3 : - int LA25_4 = input.LA(1); + int LA22_4 = input.LA(1); - int index25_4 = input.index(); + int index22_4 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7354,14 +6898,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_4); + input.seek(index22_4); if ( s>=0 ) return s; break; case 4 : - int LA25_5 = input.LA(1); + int LA22_5 = input.LA(1); - int index25_5 = input.index(); + int index22_5 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7369,14 +6913,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_5); + input.seek(index22_5); if ( s>=0 ) return s; break; case 5 : - int LA25_6 = input.LA(1); + int LA22_6 = input.LA(1); - int index25_6 = input.index(); + int index22_6 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7384,14 +6928,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_6); + input.seek(index22_6); if ( s>=0 ) return s; break; case 6 : - int LA25_7 = input.LA(1); + int LA22_7 = input.LA(1); - int index25_7 = input.index(); + int index22_7 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7399,14 +6943,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_7); + input.seek(index22_7); if ( s>=0 ) return s; break; case 7 : - int LA25_8 = input.LA(1); + int LA22_8 = input.LA(1); - int index25_8 = input.index(); + int index22_8 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7414,14 +6958,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_8); + input.seek(index22_8); if ( s>=0 ) return s; break; case 8 : - int LA25_9 = input.LA(1); + int LA22_9 = input.LA(1); - int index25_9 = input.index(); + int index22_9 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7429,14 +6973,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_9); + input.seek(index22_9); if ( s>=0 ) return s; break; case 9 : - int LA25_10 = input.LA(1); + int LA22_10 = input.LA(1); - int index25_10 = input.index(); + int index22_10 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7444,14 +6988,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_10); + input.seek(index22_10); if ( s>=0 ) return s; break; case 10 : - int LA25_11 = input.LA(1); + int LA22_11 = input.LA(1); - int index25_11 = input.index(); + int index22_11 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7459,14 +7003,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_11); + input.seek(index22_11); if ( s>=0 ) return s; break; case 11 : - int LA25_12 = input.LA(1); + int LA22_12 = input.LA(1); - int index25_12 = input.index(); + int index22_12 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7474,14 +7018,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_12); + input.seek(index22_12); if ( s>=0 ) return s; break; case 12 : - int LA25_13 = input.LA(1); + int LA22_13 = input.LA(1); - int index25_13 = input.index(); + int index22_13 = input.index(); input.rewind(); s = -1; if ( ((defaultFieldConjunction())) ) {s = 14;} @@ -7489,32 +7033,32 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 15;} - input.seek(index25_13); + input.seek(index22_13); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 25, _s, input); + new NoViableAltException(getDescription(), 22, _s, input); error(nvae); throw nvae; } } - static final String DFA26_eotS = + static final String DFA23_eotS = "\21\uffff"; - static final String DFA26_eofS = + static final String DFA23_eofS = "\21\uffff"; - static final String DFA26_minS = - "\1\51\6\uffff\1\0\4\uffff\1\0\4\uffff"; - static final String DFA26_maxS = - "\1\110\6\uffff\1\0\4\uffff\1\0\4\uffff"; - static final String DFA26_acceptS = + static final String DFA23_minS = + "\1\50\6\uffff\1\0\4\uffff\1\0\4\uffff"; + static final String DFA23_maxS = + "\1\105\6\uffff\1\0\4\uffff\1\0\4\uffff"; + static final String DFA23_acceptS = "\1\uffff\1\2\16\uffff\1\1"; - static final String DFA26_specialS = + static final String DFA23_specialS = "\7\uffff\1\0\4\uffff\1\1\4\uffff}>"; - static final String[] DFA26_transitionS = { - "\1\1\1\14\3\1\2\uffff\2\1\2\uffff\2\1\2\uffff\3\1\4\uffff\4"+ - "\1\1\7\3\1\1\uffff\1\1", + static final String[] DFA23_transitionS = { + "\1\1\1\14\5\1\2\uffff\2\1\2\uffff\3\1\4\uffff\4\1\1\7\3\1\1"+ + "\uffff\1\1", "", "", "", @@ -7533,47 +7077,47 @@ public class FTSParser extends Parser { "" }; - static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS); - static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS); - static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS); - static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS); - static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS); - static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS); - static final short[][] DFA26_transition; + static final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS); + static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS); + static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS); + static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS); + static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS); + static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS); + static final short[][] DFA23_transition; static { - int numStates = DFA26_transitionS.length; - DFA26_transition = new short[numStates][]; + int numStates = DFA23_transitionS.length; + DFA23_transition = new short[numStates][]; for (int i=0; i or ftsFieldGroupExplictConjunction )*"; + return "()* loopback of 335:36: ( ( or )=> or ftsFieldGroupExplictConjunction )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA26_7 = input.LA(1); + int LA23_7 = input.LA(1); - int index26_7 = input.index(); + int index23_7 = input.index(); input.rewind(); s = -1; if ( (synpred8_FTS()) ) {s = 16;} @@ -7581,14 +7125,14 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 1;} - input.seek(index26_7); + input.seek(index23_7); if ( s>=0 ) return s; break; case 1 : - int LA26_12 = input.LA(1); + int LA23_12 = input.LA(1); - int index26_12 = input.index(); + int index23_12 = input.index(); input.rewind(); s = -1; if ( (synpred8_FTS()) ) {s = 16;} @@ -7596,32 +7140,31 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 1;} - input.seek(index26_12); + input.seek(index23_12); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 26, _s, input); + new NoViableAltException(getDescription(), 23, _s, input); error(nvae); throw nvae; } } - static final String DFA27_eotS = + static final String DFA24_eotS = "\22\uffff"; - static final String DFA27_eofS = + static final String DFA24_eofS = "\22\uffff"; - static final String DFA27_minS = - "\1\51\10\uffff\1\0\10\uffff"; - static final String DFA27_maxS = - "\1\110\10\uffff\1\0\10\uffff"; - static final String DFA27_acceptS = + static final String DFA24_minS = + "\1\50\10\uffff\1\0\10\uffff"; + static final String DFA24_maxS = + "\1\105\10\uffff\1\0\10\uffff"; + static final String DFA24_acceptS = "\1\uffff\1\2\17\uffff\1\1"; - static final String DFA27_specialS = + static final String DFA24_specialS = "\1\0\10\uffff\1\1\10\uffff}>"; - static final String[] DFA27_transitionS = { - "\5\1\2\uffff\2\1\2\uffff\2\1\2\uffff\3\1\4\uffff\5\1\1\11\2"+ - "\1\1\21\1\1", + static final String[] DFA24_transitionS = { + "\7\1\2\uffff\2\1\2\uffff\3\1\4\uffff\5\1\1\11\2\1\1\21\1\1", "", "", "", @@ -7641,64 +7184,64 @@ public class FTSParser extends Parser { "" }; - static final short[] DFA27_eot = DFA.unpackEncodedString(DFA27_eotS); - static final short[] DFA27_eof = DFA.unpackEncodedString(DFA27_eofS); - static final char[] DFA27_min = DFA.unpackEncodedStringToUnsignedChars(DFA27_minS); - static final char[] DFA27_max = DFA.unpackEncodedStringToUnsignedChars(DFA27_maxS); - static final short[] DFA27_accept = DFA.unpackEncodedString(DFA27_acceptS); - static final short[] DFA27_special = DFA.unpackEncodedString(DFA27_specialS); - static final short[][] DFA27_transition; + static final short[] DFA24_eot = DFA.unpackEncodedString(DFA24_eotS); + static final short[] DFA24_eof = DFA.unpackEncodedString(DFA24_eofS); + static final char[] DFA24_min = DFA.unpackEncodedStringToUnsignedChars(DFA24_minS); + static final char[] DFA24_max = DFA.unpackEncodedStringToUnsignedChars(DFA24_maxS); + static final short[] DFA24_accept = DFA.unpackEncodedString(DFA24_acceptS); + static final short[] DFA24_special = DFA.unpackEncodedString(DFA24_specialS); + static final short[][] DFA24_transition; static { - int numStates = DFA27_transitionS.length; - DFA27_transition = new short[numStates][]; + int numStates = DFA24_transitionS.length; + DFA24_transition = new short[numStates][]; for (int i=0; i and ftsFieldGroupPrefixed )*"; + return "()* loopback of 340:26: ( ( and )=> and ftsFieldGroupPrefixed )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA27_0 = input.LA(1); + int LA24_0 = input.LA(1); - int index27_0 = input.index(); + int index24_0 = input.index(); input.rewind(); s = -1; - if ( ((LA27_0>=PLUS && LA27_0<=RPAREN)||(LA27_0>=TILDA && LA27_0<=DECIMAL_INTEGER_LITERAL)||(LA27_0>=EQUALS && LA27_0<=FTSPHRASE)||(LA27_0>=TO && LA27_0<=LT)||(LA27_0>=ID && LA27_0<=OR)||(LA27_0>=NOT && LA27_0<=FLOATING_POINT_LITERAL)||LA27_0==EXCLAMATION) ) {s = 1;} + if ( ((LA24_0>=PLUS && LA24_0<=DECIMAL_INTEGER_LITERAL)||(LA24_0>=EQUALS && LA24_0<=FTSPHRASE)||(LA24_0>=TO && LA24_0<=LT)||(LA24_0>=ID && LA24_0<=OR)||(LA24_0>=NOT && LA24_0<=FLOATING_POINT_LITERAL)||LA24_0==EXCLAMATION) ) {s = 1;} - else if ( (LA27_0==AND) ) {s = 9;} + else if ( (LA24_0==AND) ) {s = 9;} - else if ( (LA27_0==AMP) && (synpred9_FTS())) {s = 17;} + else if ( (LA24_0==AMP) && (synpred9_FTS())) {s = 17;} - input.seek(index27_0); + input.seek(index24_0); if ( s>=0 ) return s; break; case 1 : - int LA27_9 = input.LA(1); + int LA24_9 = input.LA(1); - int index27_9 = input.index(); + int index24_9 = input.index(); input.rewind(); s = -1; if ( (synpred9_FTS()) ) {s = 17;} @@ -7706,31 +7249,31 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 1;} - input.seek(index27_9); + input.seek(index24_9); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 27, _s, input); + new NoViableAltException(getDescription(), 24, _s, input); error(nvae); throw nvae; } } - static final String DFA33_eotS = + static final String DFA30_eotS = "\16\uffff"; - static final String DFA33_eofS = + static final String DFA30_eofS = "\16\uffff"; - static final String DFA33_minS = - "\1\51\1\0\14\uffff"; - static final String DFA33_maxS = - "\1\110\1\0\14\uffff"; - static final String DFA33_acceptS = + static final String DFA30_minS = + "\1\50\1\0\14\uffff"; + static final String DFA30_maxS = + "\1\105\1\0\14\uffff"; + static final String DFA30_acceptS = "\2\uffff\1\1\1\2\7\uffff\1\3\1\4\1\5"; - static final String DFA33_specialS = + static final String DFA30_specialS = "\1\0\1\1\14\uffff}>"; - static final String[] DFA33_transitionS = { - "\1\13\1\14\1\15\1\3\3\uffff\2\3\2\uffff\2\3\2\uffff\3\3\4\uffff"+ + static final String[] DFA30_transitionS = { + "\1\13\1\14\1\15\1\3\1\uffff\2\3\2\uffff\2\3\2\uffff\3\3\4\uffff"+ "\6\3\1\1\1\3\1\uffff\1\2", "\1\uffff", "", @@ -7747,70 +7290,70 @@ public class FTSParser extends Parser { "" }; - static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS); - static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS); - static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS); - static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS); - static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS); - static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS); - static final short[][] DFA33_transition; + static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS); + static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS); + static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS); + static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS); + static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS); + static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS); + static final short[][] DFA30_transition; static { - int numStates = DFA33_transitionS.length; - DFA33_transition = new short[numStates][]; + int numStates = DFA30_transitionS.length; + DFA30_transition = new short[numStates][]; for (int i=0; i not ftsFieldGroupTest ( boost )? -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) | ftsFieldGroupTest ( boost )? -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) | PLUS ftsFieldGroupTest ( boost )? -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) | BAR ftsFieldGroupTest ( boost )? -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) | MINUS ftsFieldGroupTest ( boost )? -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) );"; + return "345:1: ftsFieldGroupPrefixed : ( ( not )=> not ftsFieldGroupTest ( boost )? -> ^( FIELD_NEGATION ftsFieldGroupTest ( boost )? ) | ftsFieldGroupTest ( boost )? -> ^( FIELD_DEFAULT ftsFieldGroupTest ( boost )? ) | PLUS ftsFieldGroupTest ( boost )? -> ^( FIELD_MANDATORY ftsFieldGroupTest ( boost )? ) | BAR ftsFieldGroupTest ( boost )? -> ^( FIELD_OPTIONAL ftsFieldGroupTest ( boost )? ) | MINUS ftsFieldGroupTest ( boost )? -> ^( FIELD_EXCLUDE ftsFieldGroupTest ( boost )? ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA33_0 = input.LA(1); + int LA30_0 = input.LA(1); - int index33_0 = input.index(); + int index30_0 = input.index(); input.rewind(); s = -1; - if ( (LA33_0==NOT) ) {s = 1;} + if ( (LA30_0==NOT) ) {s = 1;} - else if ( (LA33_0==EXCLAMATION) && (synpred10_FTS())) {s = 2;} + else if ( (LA30_0==EXCLAMATION) && (synpred10_FTS())) {s = 2;} - else if ( (LA33_0==LPAREN||(LA33_0>=TILDA && LA33_0<=DECIMAL_INTEGER_LITERAL)||(LA33_0>=EQUALS && LA33_0<=FTSPHRASE)||(LA33_0>=TO && LA33_0<=LT)||(LA33_0>=ID && LA33_0<=AND)||LA33_0==FLOATING_POINT_LITERAL) ) {s = 3;} + else if ( (LA30_0==LPAREN||(LA30_0>=TILDA && LA30_0<=DECIMAL_INTEGER_LITERAL)||(LA30_0>=EQUALS && LA30_0<=FTSPHRASE)||(LA30_0>=TO && LA30_0<=LT)||(LA30_0>=ID && LA30_0<=AND)||LA30_0==FLOATING_POINT_LITERAL) ) {s = 3;} - else if ( (LA33_0==PLUS) ) {s = 11;} + else if ( (LA30_0==PLUS) ) {s = 11;} - else if ( (LA33_0==BAR) ) {s = 12;} + else if ( (LA30_0==BAR) ) {s = 12;} - else if ( (LA33_0==MINUS) ) {s = 13;} + else if ( (LA30_0==MINUS) ) {s = 13;} - input.seek(index33_0); + input.seek(index30_0); if ( s>=0 ) return s; break; case 1 : - int LA33_1 = input.LA(1); + int LA30_1 = input.LA(1); - int index33_1 = input.index(); + int index30_1 = input.index(); input.rewind(); s = -1; if ( (synpred10_FTS()) ) {s = 2;} @@ -7818,39 +7361,37 @@ public class FTSParser extends Parser { else if ( (true) ) {s = 3;} - input.seek(index33_1); + input.seek(index30_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 33, _s, input); + new NoViableAltException(getDescription(), 30, _s, input); error(nvae); throw nvae; } } - static final String DFA38_eotS = + static final String DFA35_eotS = "\13\uffff"; - static final String DFA38_eofS = + static final String DFA35_eofS = "\13\uffff"; - static final String DFA38_minS = - "\1\54\1\51\1\uffff\1\51\1\uffff\1\51\5\uffff"; - static final String DFA38_maxS = - "\1\106\1\110\1\uffff\1\110\1\uffff\1\110\5\uffff"; - static final String DFA38_acceptS = + static final String DFA35_minS = + "\1\53\1\50\1\uffff\1\50\1\uffff\1\50\5\uffff"; + static final String DFA35_maxS = + "\1\103\1\105\1\uffff\1\105\1\uffff\1\105\5\uffff"; + static final String DFA35_acceptS = "\2\uffff\1\2\1\uffff\1\4\1\uffff\1\6\1\7\1\5\1\1\1\3"; - static final String DFA38_specialS = + static final String DFA35_specialS = "\13\uffff}>"; - static final String[] DFA38_transitionS = { - "\1\7\3\uffff\1\4\1\1\2\uffff\1\2\1\3\2\uffff\1\5\2\6\4\uffff"+ + static final String[] DFA35_transitionS = { + "\1\7\1\uffff\1\4\1\1\2\uffff\1\2\1\3\2\uffff\1\5\2\6\4\uffff"+ "\4\1\3\5\1\1", - "\5\11\2\uffff\3\11\1\uffff\2\11\1\10\1\6\3\11\4\uffff\12\11", + "\10\11\1\uffff\2\11\1\10\1\6\3\11\4\uffff\12\11", "", - "\5\12\2\uffff\3\12\1\uffff\2\12\1\uffff\1\6\3\12\4\uffff\12"+ - "\12", + "\10\12\1\uffff\2\12\1\uffff\1\6\3\12\4\uffff\12\12", "", - "\5\11\2\uffff\3\11\1\uffff\2\11\1\10\1\uffff\3\11\4\uffff"+ - "\12\11", + "\10\11\1\uffff\2\11\1\10\1\uffff\3\11\4\uffff\12\11", "", "", "", @@ -7858,210 +7399,198 @@ public class FTSParser extends Parser { "" }; - static final short[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS); - static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS); - static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS); - static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS); - static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS); - static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS); - static final short[][] DFA38_transition; + static final short[] DFA35_eot = DFA.unpackEncodedString(DFA35_eotS); + static final short[] DFA35_eof = DFA.unpackEncodedString(DFA35_eofS); + static final char[] DFA35_min = DFA.unpackEncodedStringToUnsignedChars(DFA35_minS); + static final char[] DFA35_max = DFA.unpackEncodedStringToUnsignedChars(DFA35_maxS); + static final short[] DFA35_accept = DFA.unpackEncodedString(DFA35_acceptS); + static final short[] DFA35_special = DFA.unpackEncodedString(DFA35_specialS); + static final short[][] DFA35_transition; static { - int numStates = DFA38_transitionS.length; - DFA38_transition = new short[numStates][]; + int numStates = DFA35_transitionS.length; + DFA35_transition = new short[numStates][]; for (int i=0; i fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ftsFieldGroupImplicitConjunctionOrDisjunction );"; + return "359:1: ftsFieldGroupTest : ( ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupImplicitConjunctionOrDisjunction RPAREN -> ftsFieldGroupImplicitConjunctionOrDisjunction );"; } } - public static final BitSet FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsQuery259 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_ftsQuery261 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction285 = new BitSet(new long[]{0xE7335E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction288 = new BitSet(new long[]{0xE7335E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction307 = new BitSet(new long[]{0xE7335E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction310 = new BitSet(new long[]{0xE7335E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction337 = new BitSet(new long[]{0x0000040000000002L,0x0000000000000008L}); - public static final BitSet FOLLOW_or_in_ftsExplicitDisjunction346 = new BitSet(new long[]{0xE7335E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction348 = new BitSet(new long[]{0x0000040000000002L,0x0000000000000008L}); - public static final BitSet FOLLOW_ftsPrefixed_in_ftsExplictConjunction375 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000090L}); - public static final BitSet FOLLOW_and_in_ftsExplictConjunction384 = new BitSet(new long[]{0xE7335E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsPrefixed_in_ftsExplictConjunction386 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000090L}); - public static final BitSet FOLLOW_not_in_ftsPrefixed427 = new BitSet(new long[]{0xE733500000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed429 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsPrefixed432 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed456 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsPrefixed459 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PLUS_in_ftsPrefixed485 = new BitSet(new long[]{0xE733500000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed487 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsPrefixed489 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_BAR_in_ftsPrefixed529 = new BitSet(new long[]{0xE733500000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed531 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsPrefixed533 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_MINUS_in_ftsPrefixed573 = new BitSet(new long[]{0xE733500000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed575 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsPrefixed577 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsTerm_in_ftsTest627 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_ftsTest636 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsExactTerm_in_ftsTest656 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_ftsTest665 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsPhrase_in_ftsTest692 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_slop_in_ftsTest701 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsSynonym_in_ftsTest735 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_ftsTest744 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupProximity_in_ftsTest776 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsRange_in_ftsTest804 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroup_in_ftsTest831 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_ftsTest848 = new BitSet(new long[]{0xE7335E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsTest850 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_RPAREN_in_ftsTest852 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_template_in_ftsTest863 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PERCENT_in_template882 = new BitSet(new long[]{0xE000000000000000L}); - public static final BitSet FOLLOW_tempReference_in_template884 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PERCENT_in_template899 = new BitSet(new long[]{0x0000100000000000L}); - public static final BitSet FOLLOW_LPAREN_in_template901 = new BitSet(new long[]{0xE000000000000000L}); - public static final BitSet FOLLOW_tempReference_in_template904 = new BitSet(new long[]{0xE000A00000000000L}); - public static final BitSet FOLLOW_COMMA_in_template906 = new BitSet(new long[]{0xE000200000000000L}); - public static final BitSet FOLLOW_RPAREN_in_template911 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TILDA_in_fuzzy938 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_number_in_fuzzy940 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TILDA_in_slop963 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_DECIMAL_INTEGER_LITERAL_in_slop965 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CARAT_in_boost987 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_number_in_boost989 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fieldReference_in_ftsTerm1011 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_COLON_in_ftsTerm1013 = new BitSet(new long[]{0xE102000000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsWord_in_ftsTerm1017 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EQUALS_in_ftsExactTerm1038 = new BitSet(new long[]{0xE102000000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsTerm_in_ftsExactTerm1040 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fieldReference_in_ftsPhrase1061 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_COLON_in_ftsPhrase1063 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_FTSPHRASE_in_ftsPhrase1067 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TILDA_in_ftsSynonym1088 = new BitSet(new long[]{0xE102000000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsTerm_in_ftsSynonym1090 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fieldReference_in_ftsRange1110 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_COLON_in_ftsRange1112 = new BitSet(new long[]{0xE622000000000000L,0x0000000000000047L}); - public static final BitSet FOLLOW_ftsFieldGroupRange_in_ftsRange1116 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fieldReference_in_ftsFieldGroup1139 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_COLON_in_ftsFieldGroup1141 = new BitSet(new long[]{0x0000100000000000L}); - public static final BitSet FOLLOW_LPAREN_in_ftsFieldGroup1143 = new BitSet(new long[]{0xE7331E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroup1145 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_RPAREN_in_ftsFieldGroup1147 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1173 = new BitSet(new long[]{0xE7331E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1176 = new BitSet(new long[]{0xE7331E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1194 = new BitSet(new long[]{0xE7331E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1197 = new BitSet(new long[]{0xE7331E0000000002L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1222 = new BitSet(new long[]{0x0000040000000002L,0x0000000000000008L}); - public static final BitSet FOLLOW_or_in_ftsFieldGroupExplicitDisjunction1231 = new BitSet(new long[]{0xE7331E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1233 = new BitSet(new long[]{0x0000040000000002L,0x0000000000000008L}); - public static final BitSet FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1258 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000090L}); - public static final BitSet FOLLOW_and_in_ftsFieldGroupExplictConjunction1267 = new BitSet(new long[]{0xE7331E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1269 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000090L}); - public static final BitSet FOLLOW_not_in_ftsFieldGroupPrefixed1304 = new BitSet(new long[]{0xE733100000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1306 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1308 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1331 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1333 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PLUS_in_ftsFieldGroupPrefixed1355 = new BitSet(new long[]{0xE733100000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1357 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1359 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_BAR_in_ftsFieldGroupPrefixed1399 = new BitSet(new long[]{0xE733100000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1401 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1403 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_MINUS_in_ftsFieldGroupPrefixed1443 = new BitSet(new long[]{0xE733100000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1445 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1447 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupTest1491 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_ftsFieldGroupTest1500 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupExactTerm_in_ftsFieldGroupTest1520 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_ftsFieldGroupTest1529 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupPhrase_in_ftsFieldGroupTest1549 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_slop_in_ftsFieldGroupTest1558 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupSynonym_in_ftsFieldGroupTest1580 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_ftsFieldGroupTest1589 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupProximity_in_ftsFieldGroupTest1611 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupRange_in_ftsFieldGroupTest1631 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_ftsFieldGroupTest1654 = new BitSet(new long[]{0xE7331E0000000000L,0x000000000000017FL}); - public static final BitSet FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroupTest1656 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_RPAREN_in_ftsFieldGroupTest1658 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsWord_in_ftsFieldGroupTerm1678 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EQUALS_in_ftsFieldGroupExactTerm1690 = new BitSet(new long[]{0xE102000000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupExactTerm1692 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FTSPHRASE_in_ftsFieldGroupPhrase1712 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TILDA_in_ftsFieldGroupSynonym1724 = new BitSet(new long[]{0xE102000000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupSynonym1726 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1744 = new BitSet(new long[]{0x0040000000000000L}); - public static final BitSet FOLLOW_proximityGroup_in_ftsFieldGroupProximity1747 = new BitSet(new long[]{0xE102000000000000L,0x000000000000007FL}); - public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1749 = new BitSet(new long[]{0x0040000000000002L}); - public static final BitSet FOLLOW_STAR_in_proximityGroup1779 = new BitSet(new long[]{0x0000100000000002L}); - public static final BitSet FOLLOW_LPAREN_in_proximityGroup1783 = new BitSet(new long[]{0x0002200000000000L}); - public static final BitSet FOLLOW_DECIMAL_INTEGER_LITERAL_in_proximityGroup1785 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_RPAREN_in_proximityGroup1788 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1824 = new BitSet(new long[]{0x0080000000000000L}); - public static final BitSet FOLLOW_DOTDOT_in_ftsFieldGroupRange1826 = new BitSet(new long[]{0x8022000000000000L,0x0000000000000047L}); - public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1828 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_range_left_in_ftsFieldGroupRange1845 = new BitSet(new long[]{0x8022000000000000L,0x0000000000000047L}); - public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1847 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_TO_in_ftsFieldGroupRange1849 = new BitSet(new long[]{0x8022000000000000L,0x0000000000000047L}); - public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1851 = new BitSet(new long[]{0x1800000000000000L}); - public static final BitSet FOLLOW_range_right_in_ftsFieldGroupRange1853 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LSQUARE_in_range_left1883 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_range_left1894 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RSQUARE_in_range_right1918 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_GT_in_range_right1929 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AT_in_fieldReference1951 = new BitSet(new long[]{0xC000000000000000L}); - public static final BitSet FOLLOW_prefix_in_fieldReference1955 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_uri_in_fieldReference1957 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_identifier_in_fieldReference1961 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AT_in_tempReference1994 = new BitSet(new long[]{0xC000000000000000L}); - public static final BitSet FOLLOW_prefix_in_tempReference1998 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_uri_in_tempReference2000 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_identifier_in_tempReference2004 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_identifier_in_prefix2037 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_COLON_in_prefix2039 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_URI_in_uri2065 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ID_in_identifier2091 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsQuery253 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_ftsQuery255 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction279 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction282 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction301 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsExplicitDisjunction_in_ftsImplicitConjunctionOrDisjunction304 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction331 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000001L}); + public static final BitSet FOLLOW_or_in_ftsExplicitDisjunction340 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsExplictConjunction_in_ftsExplicitDisjunction342 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000001L}); + public static final BitSet FOLLOW_ftsPrefixed_in_ftsExplictConjunction369 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000012L}); + public static final BitSet FOLLOW_and_in_ftsExplictConjunction378 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsPrefixed_in_ftsExplictConjunction380 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000012L}); + public static final BitSet FOLLOW_not_in_ftsPrefixed421 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed423 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsPrefixed426 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed450 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsPrefixed453 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PLUS_in_ftsPrefixed479 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed481 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsPrefixed483 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_BAR_in_ftsPrefixed523 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed525 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsPrefixed527 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_MINUS_in_ftsPrefixed567 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsTest_in_ftsPrefixed569 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsPrefixed571 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsTerm_in_ftsTest621 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_fuzzy_in_ftsTest630 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsExactTerm_in_ftsTest650 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_fuzzy_in_ftsTest659 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsPhrase_in_ftsTest686 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_slop_in_ftsTest695 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsSynonym_in_ftsTest729 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_fuzzy_in_ftsTest738 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupProximity_in_ftsTest770 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsRange_in_ftsTest798 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroup_in_ftsTest825 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_ftsTest842 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsImplicitConjunctionOrDisjunction_in_ftsTest844 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_RPAREN_in_ftsTest846 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TILDA_in_fuzzy866 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_number_in_fuzzy868 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TILDA_in_slop891 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_DECIMAL_INTEGER_LITERAL_in_slop893 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CARAT_in_boost915 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_number_in_boost917 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fieldReference_in_ftsTerm939 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_COLON_in_ftsTerm941 = new BitSet(new long[]{0xFC20400000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsWord_in_ftsTerm945 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EQUALS_in_ftsExactTerm966 = new BitSet(new long[]{0xFC20400000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsTerm_in_ftsExactTerm968 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fieldReference_in_ftsPhrase989 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_COLON_in_ftsPhrase991 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_FTSPHRASE_in_ftsPhrase995 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TILDA_in_ftsSynonym1016 = new BitSet(new long[]{0xFC20400000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsTerm_in_ftsSynonym1018 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fieldReference_in_ftsRange1038 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_COLON_in_ftsRange1040 = new BitSet(new long[]{0xFCC4400000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_ftsFieldGroupRange_in_ftsRange1044 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fieldReference_in_ftsFieldGroup1067 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_COLON_in_ftsFieldGroup1069 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_LPAREN_in_ftsFieldGroup1071 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroup1073 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_RPAREN_in_ftsFieldGroup1075 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1101 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1104 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1122 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupExplicitDisjunction_in_ftsFieldGroupImplicitConjunctionOrDisjunction1125 = new BitSet(new long[]{0xFCE66F0000000002L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1150 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000001L}); + public static final BitSet FOLLOW_or_in_ftsFieldGroupExplicitDisjunction1159 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupExplictConjunction_in_ftsFieldGroupExplicitDisjunction1161 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000001L}); + public static final BitSet FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1186 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000012L}); + public static final BitSet FOLLOW_and_in_ftsFieldGroupExplictConjunction1195 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupPrefixed_in_ftsFieldGroupExplictConjunction1197 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000012L}); + public static final BitSet FOLLOW_not_in_ftsFieldGroupPrefixed1232 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1234 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1236 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1259 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1261 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PLUS_in_ftsFieldGroupPrefixed1283 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1285 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1287 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_BAR_in_ftsFieldGroupPrefixed1327 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1329 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1331 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_MINUS_in_ftsFieldGroupPrefixed1371 = new BitSet(new long[]{0xFCE6680000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTest_in_ftsFieldGroupPrefixed1373 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_boost_in_ftsFieldGroupPrefixed1375 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupTest1419 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_fuzzy_in_ftsFieldGroupTest1428 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupExactTerm_in_ftsFieldGroupTest1448 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_fuzzy_in_ftsFieldGroupTest1457 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupPhrase_in_ftsFieldGroupTest1477 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_slop_in_ftsFieldGroupTest1486 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupSynonym_in_ftsFieldGroupTest1508 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_fuzzy_in_ftsFieldGroupTest1517 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupProximity_in_ftsFieldGroupTest1539 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupRange_in_ftsFieldGroupTest1559 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_ftsFieldGroupTest1582 = new BitSet(new long[]{0xFCE66F0000000000L,0x000000000000002FL}); + public static final BitSet FOLLOW_ftsFieldGroupImplicitConjunctionOrDisjunction_in_ftsFieldGroupTest1584 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_RPAREN_in_ftsFieldGroupTest1586 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsWord_in_ftsFieldGroupTerm1606 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EQUALS_in_ftsFieldGroupExactTerm1618 = new BitSet(new long[]{0xFC20400000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupExactTerm1620 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FTSPHRASE_in_ftsFieldGroupPhrase1640 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TILDA_in_ftsFieldGroupSynonym1652 = new BitSet(new long[]{0xFC20400000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupSynonym1654 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1672 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_proximityGroup_in_ftsFieldGroupProximity1675 = new BitSet(new long[]{0xFC20400000000000L,0x000000000000000FL}); + public static final BitSet FOLLOW_ftsFieldGroupTerm_in_ftsFieldGroupProximity1677 = new BitSet(new long[]{0x0008000000000002L}); + public static final BitSet FOLLOW_STAR_in_proximityGroup1707 = new BitSet(new long[]{0x0000080000000002L}); + public static final BitSet FOLLOW_LPAREN_in_proximityGroup1711 = new BitSet(new long[]{0x0000500000000000L}); + public static final BitSet FOLLOW_DECIMAL_INTEGER_LITERAL_in_proximityGroup1713 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_RPAREN_in_proximityGroup1716 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1752 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_DOTDOT_in_ftsFieldGroupRange1754 = new BitSet(new long[]{0xF004400000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1756 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_range_left_in_ftsFieldGroupRange1773 = new BitSet(new long[]{0xF004400000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1775 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_TO_in_ftsFieldGroupRange1777 = new BitSet(new long[]{0xF004400000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_ftsRangeWord_in_ftsFieldGroupRange1779 = new BitSet(new long[]{0x0300000000000000L}); + public static final BitSet FOLLOW_range_right_in_ftsFieldGroupRange1781 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LSQUARE_in_range_left1811 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LT_in_range_left1822 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RSQUARE_in_range_right1846 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_GT_in_range_right1857 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AT_in_fieldReference1879 = new BitSet(new long[]{0x1800000000000000L}); + public static final BitSet FOLLOW_prefix_in_fieldReference1883 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_uri_in_fieldReference1885 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_identifier_in_fieldReference1889 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_identifier_in_prefix1922 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_COLON_in_prefix1924 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_URI_in_uri1950 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ID_in_identifier1976 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_ftsWord0 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_number0 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_ftsRangeWord0 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_OR_in_or2375 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_BAR_in_or2384 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_BAR_in_or2386 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AND_in_and2410 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AMP_in_and2419 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_AMP_in_and2421 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_OR_in_or2260 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_BAR_in_or2269 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_BAR_in_or2271 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AND_in_and2295 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AMP_in_and2304 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_AMP_in_and2306 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_not0 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_or_in_synpred1_FTS341 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_and_in_synpred2_FTS379 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_not_in_synpred3_FTS422 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_synpred4_FTS631 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_synpred5_FTS660 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_slop_in_synpred6_FTS696 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_synpred7_FTS739 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_or_in_synpred8_FTS1226 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_and_in_synpred9_FTS1262 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_not_in_synpred10_FTS1299 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_synpred11_FTS1495 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_synpred12_FTS1524 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_slop_in_synpred13_FTS1553 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fuzzy_in_synpred14_FTS1584 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_or_in_synpred1_FTS335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_and_in_synpred2_FTS373 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_not_in_synpred3_FTS416 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fuzzy_in_synpred4_FTS625 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fuzzy_in_synpred5_FTS654 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_slop_in_synpred6_FTS690 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fuzzy_in_synpred7_FTS733 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_or_in_synpred8_FTS1154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_and_in_synpred9_FTS1190 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_not_in_synpred10_FTS1227 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fuzzy_in_synpred11_FTS1423 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fuzzy_in_synpred12_FTS1452 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_slop_in_synpred13_FTS1481 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fuzzy_in_synpred14_FTS1512 = new BitSet(new long[]{0x0000000000000002L}); } \ No newline at end of file diff --git a/source/java/org/alfresco/repo/search/impl/parsers/FTSQueryParser.java b/source/java/org/alfresco/repo/search/impl/parsers/FTSQueryParser.java index 95e3717b48..5617150ae2 100644 --- a/source/java/org/alfresco/repo/search/impl/parsers/FTSQueryParser.java +++ b/source/java/org/alfresco/repo/search/impl/parsers/FTSQueryParser.java @@ -25,7 +25,6 @@ package org.alfresco.repo.search.impl.parsers; import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -56,53 +55,15 @@ import org.antlr.runtime.ANTLRStringStream; import org.antlr.runtime.CharStream; import org.antlr.runtime.CommonTokenStream; import org.antlr.runtime.RecognitionException; -import org.antlr.runtime.Token; import org.antlr.runtime.tree.CommonTree; import org.antlr.runtime.tree.Tree; public class FTSQueryParser { - static public Constraint buildFTS(String ftsExpression, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, - ArrayList columns, Connective defaultConnective, Connective defaultFieldConnective, Map templates) + public Constraint buildFTS(String ftsExpression, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns, + Connective defaultConnective, Connective defaultFieldConnective) { // TODO: Decode sql escape for '' should do in CMIS layer - - // parse templates to trees ... - - Map templateTrees = new HashMap(); - - if (templates != null) - { - for (String name : templates.keySet()) - { - FTSParser parser = null; - - try - { - String templateDefinition = templates.get(name); - CharStream cs = new ANTLRStringStream(templateDefinition); - FTSLexer lexer = new FTSLexer(cs); - CommonTokenStream tokens = new CommonTokenStream(lexer); - parser = new FTSParser(tokens); - parser.setDefaultConjunction(defaultConnective == Connective.AND ? true : false); - parser.setDefaultFieldConjunction(defaultFieldConnective == Connective.AND ? true : false); - CommonTree ftsNode = (CommonTree) parser.ftsQuery().getTree(); - templateTrees.put(name, ftsNode); - } - catch (RecognitionException e) - { - if (parser != null) - { - String[] tokenNames = parser.getTokenNames(); - String hdr = parser.getErrorHeader(e); - String msg = parser.getErrorMessage(e, tokenNames); - throw new FTSQueryException(hdr + "\n" + msg, e); - } - return null; - } - } - } - FTSParser parser = null; try { @@ -113,7 +74,7 @@ public class FTSQueryParser parser.setDefaultConjunction(defaultConnective == Connective.AND ? true : false); parser.setDefaultFieldConjunction(defaultFieldConnective == Connective.AND ? true : false); CommonTree ftsNode = (CommonTree) parser.ftsQuery().getTree(); - return buildFTSConnective(null, ftsNode, factory, functionEvaluationContext, selector, columns, templateTrees); + return buildFTSConnective(null, ftsNode, factory, functionEvaluationContext, selector, columns); } catch (RecognitionException e) { @@ -129,8 +90,8 @@ public class FTSQueryParser } - static private Constraint buildFTSConnective(CommonTree fieldReferenceNode, CommonTree node, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, - Selector selector, ArrayList columns, Map templateTrees) + private Constraint buildFTSConnective(CommonTree fieldReferenceNode, CommonTree node, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + Selector selector, ArrayList columns) { Connective connective; switch (node.getType()) @@ -159,41 +120,41 @@ public class FTSQueryParser case FTSParser.FIELD_DISJUNCTION: case FTSParser.CONJUNCTION: case FTSParser.FIELD_CONJUNCTION: - constraint = buildFTSConnective(fieldReferenceNode, subNode, factory, functionEvaluationContext, selector, columns, templateTrees); + constraint = buildFTSConnective(fieldReferenceNode, subNode, factory, functionEvaluationContext, selector, columns); setBoost(constraint, subNode); break; case FTSParser.NEGATION: case FTSParser.FIELD_NEGATION: testNode = (CommonTree) subNode.getChild(0); - constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns, templateTrees); + constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns); constraint.setOccur(Occur.EXCLUDE); setBoost(constraint, subNode); break; case FTSParser.DEFAULT: case FTSParser.FIELD_DEFAULT: testNode = (CommonTree) subNode.getChild(0); - constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns, templateTrees); + constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns); constraint.setOccur(Occur.DEFAULT); setBoost(constraint, subNode); break; case FTSParser.MANDATORY: case FTSParser.FIELD_MANDATORY: testNode = (CommonTree) subNode.getChild(0); - constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns, templateTrees); + constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns); constraint.setOccur(Occur.MANDATORY); setBoost(constraint, subNode); break; case FTSParser.OPTIONAL: case FTSParser.FIELD_OPTIONAL: testNode = (CommonTree) subNode.getChild(0); - constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns, templateTrees); + constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns); constraint.setOccur(Occur.OPTIONAL); setBoost(constraint, subNode); break; case FTSParser.EXCLUDE: case FTSParser.FIELD_EXCLUDE: testNode = (CommonTree) subNode.getChild(0); - constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns, templateTrees); + constraint = buildFTSTest(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns); constraint.setOccur(Occur.EXCLUDE); setBoost(constraint, subNode); break; @@ -205,22 +166,24 @@ public class FTSQueryParser } if (constraints.size() == 1) { - return constraints.get(0); + return constraints.get(0); } else { if (connective == Connective.OR) { - return factory.createDisjunction(constraints); + return factory.createDisjunction(constraints); } else { - return factory.createConjunction(constraints); + return factory.createConjunction(constraints); } } } - static private void setBoost(Constraint constraint, CommonTree subNode) + + + private void setBoost(Constraint constraint, CommonTree subNode) { for (int i = 0, l = subNode.getChildCount(); i < l; i++) { @@ -235,34 +198,9 @@ public class FTSQueryParser } } - static private Constraint buildFTSTest(CommonTree fieldReferenceNode, CommonTree argNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, - Selector selector, ArrayList columns, Map templateTrees) + private Constraint buildFTSTest(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + Selector selector, ArrayList columns) { - CommonTree testNode = argNode; - // Check for template replacement - - PropertyArgument parg = null; - if (fieldReferenceNode != null) - { - parg = buildFieldReference("", fieldReferenceNode, factory, functionEvaluationContext, selector, columns); - } - else - { - CommonTree specifiedFieldReferenceNode = findFieldReference(testNode); - if (specifiedFieldReferenceNode != null) - { - parg = buildFieldReference(FTSRange.ARG_PROPERTY, specifiedFieldReferenceNode, factory, functionEvaluationContext, selector, columns); - } - } - if (parg != null) - { - CommonTree template = templateTrees.get(parg.getPropertyName()); - if (template != null) - { - testNode = copyAndReplace(template, testNode); - } - } - Tree termNode; Float fuzzy = findFuzzy(testNode); switch (testNode.getType()) @@ -271,7 +209,7 @@ public class FTSQueryParser case FTSParser.FIELD_DISJUNCTION: case FTSParser.CONJUNCTION: case FTSParser.FIELD_CONJUNCTION: - return buildFTSConnective(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns, templateTrees); + return buildFTSConnective(fieldReferenceNode, testNode, factory, functionEvaluationContext, selector, columns); case FTSParser.TERM: case FTSParser.FG_TERM: termNode = testNode.getChild(0); @@ -366,13 +304,13 @@ public class FTSQueryParser } CommonTree newFieldReferenceNode = (CommonTree) testNode.getChild(0); CommonTree fieldExperssion = (CommonTree) testNode.getChild(1); - return buildFTSConnective(newFieldReferenceNode, fieldExperssion, factory, functionEvaluationContext, selector, columns, templateTrees); + return buildFTSConnective(newFieldReferenceNode, fieldExperssion, factory, functionEvaluationContext, selector, columns); default: throw new FTSQueryException("Unsupported FTS option " + testNode.getText()); } } - static private Constraint buildRange(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildRange(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSRange.NAME; @@ -403,7 +341,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildProximity(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildProximity(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSProximity.NAME; @@ -426,7 +364,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildExpandTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildExpandTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSTerm.NAME; @@ -453,8 +391,8 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildPhrase(Float fuzzy, CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, - FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) + private Constraint buildPhrase(Float fuzzy, CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + Selector selector, ArrayList columns) { String functionName = FTSPhrase.NAME; Function function = factory.getFunction(functionName); @@ -483,7 +421,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildExactTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildExactTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSTerm.NAME; @@ -510,7 +448,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSTerm.NAME; @@ -537,262 +475,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private CommonTree copyAndReplace(CommonTree source, CommonTree insert) - { - CommonTree newNode = new CommonTree(source); - if (source.getChildCount() > 0) - { - for (Object current : source.getChildren()) - { - CommonTree child = (CommonTree) current; - if (child.getType() == FTSParser.TEMPLATE) - { - if (child.getChildCount() > 1) - { - CommonTree disjunction = new CommonTree(new DisjunctionToken()); - newNode.addChild(disjunction); - for (Object currentfieldReferenceNode : child.getChildren()) - { - CommonTree fieldReferenceNode = (CommonTree) currentfieldReferenceNode; - CommonTree def = new CommonTree(new DefaultToken()); - disjunction.addChild(def); - CommonTree newChild = insertTreeAndFixFieldRefs(insert, fieldReferenceNode); - def.addChild(newChild); - } - - } - else - { - CommonTree fieldReferenceNode = findFieldReference(child); - CommonTree newChild = insertTreeAndFixFieldRefs(insert, fieldReferenceNode); - newNode.addChild(newChild); - } - } - else - { - CommonTree newChild = copyAndReplace(child, insert); - newNode.addChild(newChild); - } - } - } - return newNode; - } - - static class DisjunctionToken implements Token - { - - public int getChannel() - { - // TODO Auto-generated method stub - return 0; - } - - public int getCharPositionInLine() - { - // TODO Auto-generated method stub - return 0; - } - - public CharStream getInputStream() - { - // TODO Auto-generated method stub - return null; - } - - public int getLine() - { - // TODO Auto-generated method stub - return 0; - } - - public String getText() - { - // TODO Auto-generated method stub - return null; - } - - public int getTokenIndex() - { - // TODO Auto-generated method stub - return 0; - } - - public int getType() - { - return FTSParser.DISJUNCTION; - } - - public void setChannel(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setCharPositionInLine(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setInputStream(CharStream arg0) - { - // TODO Auto-generated method stub - - } - - public void setLine(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setText(String arg0) - { - // TODO Auto-generated method stub - - } - - public void setTokenIndex(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setType(int arg0) - { - // TODO Auto-generated method stub - - } - - } - - static class DefaultToken implements Token - { - - public int getChannel() - { - // TODO Auto-generated method stub - return 0; - } - - public int getCharPositionInLine() - { - // TODO Auto-generated method stub - return 0; - } - - public CharStream getInputStream() - { - // TODO Auto-generated method stub - return null; - } - - public int getLine() - { - // TODO Auto-generated method stub - return 0; - } - - public String getText() - { - // TODO Auto-generated method stub - return null; - } - - public int getTokenIndex() - { - // TODO Auto-generated method stub - return 0; - } - - public int getType() - { - return FTSParser.DEFAULT; - } - - public void setChannel(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setCharPositionInLine(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setInputStream(CharStream arg0) - { - // TODO Auto-generated method stub - - } - - public void setLine(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setText(String arg0) - { - // TODO Auto-generated method stub - - } - - public void setTokenIndex(int arg0) - { - // TODO Auto-generated method stub - - } - - public void setType(int arg0) - { - // TODO Auto-generated method stub - - } - - } - - static private CommonTree copy(CommonTree source) - { - CommonTree newNode = new CommonTree(source); - if (source.getChildCount() > 0) - { - for (Object current : source.getChildren()) - { - CommonTree child = (CommonTree) current; - CommonTree newChild = copy(child); - newNode.addChild(newChild); - } - } - return newNode; - } - - private static CommonTree insertTreeAndFixFieldRefs(CommonTree source, CommonTree fieldReferenceNode) - { - CommonTree newNode = new CommonTree(source); - if (source.getChildCount() > 0) - { - for (Object current : source.getChildren()) - { - CommonTree child = (CommonTree) current; - if (child.getType() == FTSParser.FIELD_REF) - { - CommonTree newChild = copy(fieldReferenceNode); - newNode.addChild(newChild); - } - else - { - CommonTree newChild = insertTreeAndFixFieldRefs(child, fieldReferenceNode); - newNode.addChild(newChild); - } - } - } - return newNode; - } - - static private Constraint buildFuzzyTerm(Float fuzzy, CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, + private Constraint buildFuzzyTerm(Float fuzzy, CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSFuzzyTerm.NAME; @@ -819,7 +502,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildWildTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildWildTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSWildTerm.NAME; @@ -844,7 +527,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private Constraint buildPrefixTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + private Constraint buildPrefixTerm(CommonTree fieldReferenceNode, CommonTree testNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) { String functionName = FTSPrefixTerm.NAME; @@ -869,7 +552,7 @@ public class FTSQueryParser return factory.createFunctionalConstraint(function, functionArguments); } - static private CommonTree findFieldReference(CommonTree node) + private CommonTree findFieldReference(CommonTree node) { for (int i = 0, l = node.getChildCount(); i < l; i++) { @@ -882,7 +565,7 @@ public class FTSQueryParser return null; } - static private Float findFuzzy(Tree node) + private Float findFuzzy(Tree node) { for (int i = 0, l = node.getChildCount(); i < l; i++) { @@ -897,8 +580,8 @@ public class FTSQueryParser return null; } - static public PropertyArgument buildFieldReference(String argumentName, CommonTree fieldReferenceNode, QueryModelFactory factory, - FunctionEvaluationContext functionEvaluationContext, Selector selector, ArrayList columns) + public PropertyArgument buildFieldReference(String argumentName, CommonTree fieldReferenceNode, QueryModelFactory factory, FunctionEvaluationContext functionEvaluationContext, + Selector selector, ArrayList columns) { if (fieldReferenceNode.getType() != FTSParser.FIELD_REF) { @@ -943,13 +626,14 @@ public class FTSQueryParser return factory.createPropertyArgument(argumentName, functionEvaluationContext.isQueryable(fieldName), functionEvaluationContext.isOrderable(fieldName), alias, fieldName); } - static private String getText(Tree node) + private String getText(Tree node) { String text = node.getText(); int index; switch (node.getType()) { case FTSParser.FTSWORD: + case FTSParser.PHRASE: index = text.indexOf('\\'); if (index == -1) { @@ -959,17 +643,6 @@ public class FTSQueryParser { return unescape(text); } - case FTSParser.FTSPHRASE: - String phrase = text.substring(1, text.length()-1); - index = phrase.indexOf('\\'); - if (index == -1) - { - return phrase; - } - else - { - return unescape(phrase); - } case FTSParser.ID: index = text.indexOf('\\'); if (index == -1) @@ -985,7 +658,7 @@ public class FTSQueryParser } } - static private String unescape(String string) + private String unescape(String string) { StringBuilder builder = new StringBuilder(string.length()); boolean lastWasEscape = false; diff --git a/source/java/org/alfresco/repo/search/impl/parsers/fts_test.gunit b/source/java/org/alfresco/repo/search/impl/parsers/fts_test.gunit index fd6cde4bba..f9c8f1442a 100644 --- a/source/java/org/alfresco/repo/search/impl/parsers/fts_test.gunit +++ b/source/java/org/alfresco/repo/search/impl/parsers/fts_test.gunit @@ -10,9 +10,6 @@ ftsQuery: "\"zebra\"" -> "(CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (PHRASE \"zebra\")))))" "one and cm:name:two and cm_name:three and {http://www.alfresco.org/model/content/1.0}name:\"four\" seven * eight \"nine * ten\"" -> "(CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (TERM one)) (DEFAULT (TERM two (FIELD_REF name (PREFIX cm)))) (DEFAULT (TERM three (FIELD_REF cm_name))) (DEFAULT (PHRASE \"four\" (FIELD_REF name (NAME_SPACE {http://www.alfresco.org/model/content/1.0})))))) (DISJUNCTION (CONJUNCTION (DEFAULT (PROXIMITY seven PROXIMITY eight)))) (DISJUNCTION (CONJUNCTION (DEFAULT (PHRASE \"nine * ten\")))))" "1..2" -> "(CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (RANGE INCLUSIVE 1 2 INCLUSIVE)))))" -"test:flag:true AND %test:field" -> "(CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (TERM true (FIELD_REF flag (PREFIX test)))) (DEFAULT (TEMPLATE (FIELD_REF field (PREFIX test)))))))" -"test:flag:true AND %NEST" -> "(CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (TERM true (FIELD_REF flag (PREFIX test)))) (DEFAULT (TEMPLATE (FIELD_REF NEST))))))" -"test:flag:true AND %(NEST,test:field, test_field1, {http://www.alfresco.org/model/content/1.0}name)" -> "(CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (TERM true (FIELD_REF flag (PREFIX test)))) (DEFAULT (TEMPLATE (FIELD_REF NEST) (FIELD_REF field (PREFIX test)) (FIELD_REF test_field1) (FIELD_REF name (NAME_SPACE {http://www.alfresco.org/model/content/1.0})))))))" ftsImplicitConjunctionOrDisjunction: "red" -> (CONJUNCTION (DISJUNCTION (CONJUNCTION (DEFAULT (TERM red))))) diff --git a/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/LuceneQueryEngine.java b/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/LuceneQueryEngine.java index 8e10b57348..62c1c33169 100644 --- a/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/LuceneQueryEngine.java +++ b/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/LuceneQueryEngine.java @@ -183,7 +183,7 @@ public class LuceneQueryEngine implements QueryEngine hits = searcher.search(luceneQuery, sort); } - LuceneResultSet result = new LuceneResultSet(hits, searcher, nodeService, tenantService, searchParameters, indexAndSearcher); + LuceneResultSet result = new LuceneResultSet(hits, searcher, nodeService, tenantService, null, searchParameters, indexAndSearcher); Map, ResultSet> map = new HashMap, ResultSet>(1); map.put(selectorGroup, result); return new QueryEngineResults(map); diff --git a/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/functions/LuceneFTSRange.java b/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/functions/LuceneFTSRange.java index 1c314314be..3229077400 100644 --- a/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/functions/LuceneFTSRange.java +++ b/source/java/org/alfresco/repo/search/impl/querymodel/impl/lucene/functions/LuceneFTSRange.java @@ -27,7 +27,6 @@ package org.alfresco.repo.search.impl.querymodel.impl.lucene.functions; import java.util.Map; import java.util.Set; -import org.alfresco.repo.search.impl.lucene.AnalysisMode; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.querymodel.Argument; import org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext; @@ -73,11 +72,11 @@ public class LuceneFTSRange extends FTSRange implements LuceneQueryBuilderCompon if (propArg != null) { String prop = propArg.getPropertyName(); - query = lqp.getRangeQuery(functionContext.getLuceneFieldName(prop), from, to, fromInc, toInc, AnalysisMode.DEFAULT); + query = lqp.getRangeQuery(functionContext.getLuceneFieldName(prop), from, to, fromInc, toInc); } else { - query = lqp.getRangeQuery("TEXT", from, to, fromInc, toInc, AnalysisMode.DEFAULT); + query = lqp.getRangeQuery("TEXT", from, to, fromInc, toInc); } return query; } diff --git a/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSet.java b/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSet.java index 359f62aef2..8c1f779909 100644 --- a/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSet.java +++ b/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSet.java @@ -40,43 +40,28 @@ import org.alfresco.repo.search.SimpleResultSetMetaData; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.PermissionEvaluationMode; import org.alfresco.service.cmr.search.ResultSetMetaData; import org.alfresco.service.cmr.search.ResultSetRow; import org.alfresco.service.cmr.search.SearchParameters; -/** - * Child assoc result set - * @author andyh - * - */ public class ChildAssocRefResultSet extends AbstractResultSet { private List cars; NodeService nodeService; - /** - * Normal constructor - * @param nodeService - * @param cars - */ - public ChildAssocRefResultSet(NodeService nodeService, List cars) + public ChildAssocRefResultSet(NodeService nodeService, List cars, Path[] propertyPaths) { - super(); + super(propertyPaths); this.nodeService = nodeService; this.cars = cars; } - /** - * Constructor that may expand all child assoc parents provided - * @param nodeService - * @param nodeRefs - * @param resolveAllParents - */ - public ChildAssocRefResultSet(NodeService nodeService, List nodeRefs, boolean resolveAllParents) + public ChildAssocRefResultSet(NodeService nodeService, List nodeRefs, Path[] propertyPaths, boolean resolveAllParents) { - super(); + super(propertyPaths); this.nodeService = nodeService; List cars = new ArrayList(nodeRefs.size()); for(NodeRef nodeRef : nodeRefs) @@ -118,8 +103,7 @@ public class ChildAssocRefResultSet extends AbstractResultSet return new ChildAssocRefResultSetRowIterator(this); } - - /* package */ NodeService getNodeService() + public NodeService getNodeService() { return nodeService; } @@ -128,14 +112,4 @@ public class ChildAssocRefResultSet extends AbstractResultSet { return new SimpleResultSetMetaData(LimitBy.UNLIMITED, PermissionEvaluationMode.EAGER, new SearchParameters()); } - - public int getStart() - { - throw new UnsupportedOperationException(); - } - - public boolean hasMore() - { - throw new UnsupportedOperationException(); - } } diff --git a/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRow.java b/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRow.java index f3dd68c856..07bdd0e716 100644 --- a/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRow.java +++ b/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRow.java @@ -29,26 +29,22 @@ import java.util.Map; import org.alfresco.repo.search.AbstractResultSetRow; import org.alfresco.service.cmr.repository.ChildAssociationRef; -import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.namespace.QName; -/** - * Row in child assoc ref result set. - * @author andyh - * - */ public class ChildAssocRefResultSetRow extends AbstractResultSetRow { - /** - * Row in child assoc ref result set - * @param resultSet - * @param index - */ public ChildAssocRefResultSetRow(ChildAssocRefResultSet resultSet, int index) { super(resultSet, index); } + public Serializable getValue(Path path) + { + // TODO Auto-generated method stub + throw new UnsupportedOperationException(); + } + public QName getQName() { return ((ChildAssocRefResultSet)getResultSet()).getChildAssocRef(getIndex()).getQName(); @@ -65,24 +61,4 @@ public class ChildAssocRefResultSetRow extends AbstractResultSetRow return ((ChildAssocRefResultSet)getResultSet()).getChildAssocRef(getIndex()); } - public NodeRef getNodeRef(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getNodeRefs() - { - throw new UnsupportedOperationException(); - } - - public float getScore(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getScores() - { - throw new UnsupportedOperationException(); - } - } diff --git a/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRowIterator.java b/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRowIterator.java index 1e3e6e0138..6138ecc253 100644 --- a/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRowIterator.java +++ b/source/java/org/alfresco/repo/search/results/ChildAssocRefResultSetRowIterator.java @@ -28,18 +28,9 @@ import org.alfresco.repo.search.AbstractResultSetRowIterator; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetRow; -/** - * Iterate over child asooc refs - * @author andyh - * - */ public class ChildAssocRefResultSetRowIterator extends AbstractResultSetRowIterator { - /** - * Source result set - * @param resultSet - */ public ChildAssocRefResultSetRowIterator(ResultSet resultSet) { super(resultSet); diff --git a/source/java/org/alfresco/repo/search/results/DetachedResultSet.java b/source/java/org/alfresco/repo/search/results/DetachedResultSet.java index 383d7b89f2..33ea2144f0 100644 --- a/source/java/org/alfresco/repo/search/results/DetachedResultSet.java +++ b/source/java/org/alfresco/repo/search/results/DetachedResultSet.java @@ -32,29 +32,22 @@ import org.alfresco.repo.search.AbstractResultSet; import org.alfresco.repo.search.SimpleResultSetMetaData; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; +import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.PermissionEvaluationMode; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetMetaData; import org.alfresco.service.cmr.search.ResultSetRow; -/** - * Detached result set - * @author andyh - * - */ public class DetachedResultSet extends AbstractResultSet { List rows = null; ResultSetMetaData rsmd; - /** - * Detached result set based on that provided - * @param resultSet - */ - public DetachedResultSet(ResultSet resultSet) + public DetachedResultSet(ResultSet resultSet, Path[] propertyPaths) { - super(); + super(propertyPaths); rsmd = resultSet.getResultSetMetaData(); rows = new ArrayList(resultSet.length()); for (ResultSetRow row : resultSet) @@ -93,14 +86,4 @@ public class DetachedResultSet extends AbstractResultSet return new SimpleResultSetMetaData(rsmd.getLimitedBy(), PermissionEvaluationMode.EAGER, rsmd.getSearchParameters()); } - public int getStart() - { - throw new UnsupportedOperationException(); - } - - public boolean hasMore() - { - throw new UnsupportedOperationException(); - } - } diff --git a/source/java/org/alfresco/repo/search/results/DetachedResultSetRow.java b/source/java/org/alfresco/repo/search/results/DetachedResultSetRow.java index 9292698f8d..204d2c9717 100644 --- a/source/java/org/alfresco/repo/search/results/DetachedResultSetRow.java +++ b/source/java/org/alfresco/repo/search/results/DetachedResultSetRow.java @@ -24,29 +24,22 @@ */ package org.alfresco.repo.search.results; +import java.io.Serializable; import java.util.Map; import org.alfresco.repo.search.AbstractResultSetRow; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetRow; import org.alfresco.service.namespace.QName; -/** - * Detatched result set row - * @author andyh - * - */ public class DetachedResultSetRow extends AbstractResultSetRow { private ChildAssociationRef car; + private Map properties; - /** - * Detached result set row - * @param resultSet - * @param row - */ public DetachedResultSetRow(ResultSet resultSet, ResultSetRow row) { super(resultSet, row.getIndex()); @@ -54,6 +47,11 @@ public class DetachedResultSetRow extends AbstractResultSetRow properties = row.getValues(); } + public Serializable getValue(Path path) + { + return properties.get(path); + } + public QName getQName() { return car.getQName(); @@ -64,30 +62,15 @@ public class DetachedResultSetRow extends AbstractResultSetRow return car.getChildRef(); } + public Map getValues() + { + return properties; + } + public ChildAssociationRef getChildAssocRef() { return car; } - - public NodeRef getNodeRef(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getNodeRefs() - { - throw new UnsupportedOperationException(); - } - - public float getScore(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getScores() - { - throw new UnsupportedOperationException(); - } diff --git a/source/java/org/alfresco/repo/search/results/SortedResultSet.java b/source/java/org/alfresco/repo/search/results/SortedResultSet.java index 414956a684..404cb3a49b 100644 --- a/source/java/org/alfresco/repo/search/results/SortedResultSet.java +++ b/source/java/org/alfresco/repo/search/results/SortedResultSet.java @@ -32,9 +32,14 @@ import java.util.Iterator; import java.util.List; import org.alfresco.repo.search.SearcherException; +import org.alfresco.repo.search.impl.lucene.LuceneResultSetRow; +import org.alfresco.repo.search.impl.lucene.analysis.DateTimeAnalyser; +import org.alfresco.service.cmr.dictionary.DataTypeDefinition; +import org.alfresco.service.cmr.dictionary.PropertyDefinition; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetMetaData; import org.alfresco.service.cmr.search.ResultSetRow; @@ -43,12 +48,8 @@ import org.alfresco.service.cmr.search.SearchParameters.SortDefinition; import org.alfresco.service.namespace.NamespacePrefixResolver; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; +import org.apache.lucene.search.SortField; -/** - * Sorted results - * @author andyh - * - */ public class SortedResultSet implements ResultSet { ArrayList nodeRefsAndScores; @@ -59,13 +60,6 @@ public class SortedResultSet implements ResultSet ResultSet resultSet; - /** - * Source and resources required to sort - * @param resultSet - * @param nodeService - * @param searchParameters - * @param namespacePrefixResolver - */ public SortedResultSet(ResultSet resultSet, NodeService nodeService, SearchParameters searchParameters, NamespacePrefixResolver namespacePrefixResolver) { this.nodeService = nodeService; @@ -138,6 +132,11 @@ public class SortedResultSet implements ResultSet return nodeRefsAndScores.get(n).nodeRef; } + public Path[] getPropertyPaths() + { + return resultSet.getPropertyPaths(); + } + public ResultSetMetaData getResultSetMetaData() { return resultSet.getResultSetMetaData(); @@ -282,14 +281,4 @@ public class SortedResultSet implements ResultSet } - public int getStart() - { - throw new UnsupportedOperationException(); - } - - public boolean hasMore() - { - throw new UnsupportedOperationException(); - } - } diff --git a/source/java/org/alfresco/repo/search/results/SortedResultSetRow.java b/source/java/org/alfresco/repo/search/results/SortedResultSetRow.java index 9edc97a9f9..b2018fb214 100644 --- a/source/java/org/alfresco/repo/search/results/SortedResultSetRow.java +++ b/source/java/org/alfresco/repo/search/results/SortedResultSetRow.java @@ -24,10 +24,7 @@ */ package org.alfresco.repo.search.results; -import java.util.Map; - import org.alfresco.repo.search.AbstractResultSetRow; -import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.search.ResultSetRow; /** @@ -46,26 +43,6 @@ public class SortedResultSetRow extends AbstractResultSetRow implements ResultSe super(resultSet, index); } - public NodeRef getNodeRef(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getNodeRefs() - { - throw new UnsupportedOperationException(); - } - - public float getScore(String selectorName) - { - throw new UnsupportedOperationException(); - } - - public Map getScores() - { - throw new UnsupportedOperationException(); - } - diff --git a/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationTest.java b/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationTest.java index 3baa2611f9..2a94652dd6 100644 --- a/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationTest.java +++ b/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationTest.java @@ -418,7 +418,7 @@ public class ACLEntryAfterInvocationTest extends AbstractPermissionTest Set carSet = new HashSet(); - ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, false); + ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, null, false); assertEquals(0, rsIn.length()); ResultSet answerResultSet = (ResultSet) methodResultSet.invoke(proxy, new Object[] { rsIn }); @@ -488,7 +488,7 @@ public class ACLEntryAfterInvocationTest extends AbstractPermissionTest Set carSet = new HashSet(); carSet.addAll(carList); - ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, false); + ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, null, false); assertEquals(4, rsIn.length()); ResultSet answerResultSet = (ResultSet) methodResultSet.invoke(proxy, new Object[] { rsIn }); @@ -549,7 +549,7 @@ public class ACLEntryAfterInvocationTest extends AbstractPermissionTest Set carSet = new HashSet(); carSet.addAll(carList); - ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, false); + ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, null, false); assertEquals(4, rsIn.length()); @@ -622,7 +622,7 @@ public class ACLEntryAfterInvocationTest extends AbstractPermissionTest Set carSet = new HashSet(); carSet.addAll(carList); - ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, false); + ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, null, false); permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED)); @@ -746,7 +746,7 @@ public class ACLEntryAfterInvocationTest extends AbstractPermissionTest Set carSet = new HashSet(); carSet.addAll(carList); - ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, false); + ChildAssocRefResultSet rsIn = new ChildAssocRefResultSet(nodeService, nodeRefList, null, false); permissionService.setPermission(new SimplePermissionEntry(rootNodeRef, getPermission(PermissionService.READ), "andy", AccessStatus.ALLOWED)); diff --git a/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSet.java b/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSet.java index 040cb92b24..c5d47c7591 100644 --- a/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSet.java +++ b/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSet.java @@ -31,15 +31,11 @@ import java.util.ListIterator; import org.alfresco.repo.search.ResultSetRowIterator; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSetMetaData; import org.alfresco.service.cmr.search.ResultSetRow; -/** - * Filtering result set to support permission checks - * @author andyh - * - */ public class FilteringResultSet extends ACLEntryAfterInvocationProvider implements ResultSet { private ResultSet unfiltered; @@ -70,6 +66,11 @@ public class FilteringResultSet extends ACLEntryAfterInvocationProvider implemen return inclusionMask.get(i); } + public Path[] getPropertyPaths() + { + return unfiltered.getPropertyPaths(); + } + public int length() { return inclusionMask.cardinality(); @@ -252,16 +253,6 @@ public class FilteringResultSet extends ACLEntryAfterInvocationProvider implemen throw new UnsupportedOperationException(); } - public boolean allowsReverse() - { - return true; - } - - public ResultSet getResultSet() - { - return FilteringResultSet.this; - } - } public ResultSetMetaData getResultSetMetaData() @@ -274,15 +265,5 @@ public class FilteringResultSet extends ACLEntryAfterInvocationProvider implemen this.resultSetMetaData = resultSetMetaData; } - public int getStart() - { - throw new UnsupportedOperationException(); - } - - public boolean hasMore() - { - throw new UnsupportedOperationException(); - } - } diff --git a/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSetTest.java b/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSetTest.java index ad70432952..0dec06eff2 100644 --- a/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSetTest.java +++ b/source/java/org/alfresco/repo/security/permissions/impl/acegi/FilteringResultSetTest.java @@ -77,7 +77,7 @@ public class FilteringResultSetTest extends TestCase cars.add(car4); cars.add(car5); - ResultSet in = new ChildAssocRefResultSet(null, cars); + ResultSet in = new ChildAssocRefResultSet(null, cars, null); FilteringResultSet filtering = new FilteringResultSet(in); diff --git a/source/java/org/alfresco/service/cmr/search/ResultSet.java b/source/java/org/alfresco/service/cmr/search/ResultSet.java index 6b152fe9f8..935d342ba5 100644 --- a/source/java/org/alfresco/service/cmr/search/ResultSet.java +++ b/source/java/org/alfresco/service/cmr/search/ResultSet.java @@ -28,109 +28,75 @@ import java.util.List; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.Path; /** - * This is the common interface for both row (Alfresco node) and column (CMIS style property or function) based results. - * The meta-data for the results sets contains the detailed info on what columns are available. For row based result - * sets there is no selector - all the nodes returned do not have to have a specific type or aspect. For example, an FTS - * search on properties of type d:content has no type constraint implied or otherwise. Searches against properties have - * an implied type, but as there can be more than one property -> more than one type or aspect implied (eg via OR in FTS - * or lucene) they are ignored An iterable result set from a searcher query. Implementations must implement the - * indexes for row lookup as zero-based. + * An iterable result set from a searcher query. + * Implementations must implement the indexes as zero-based. + * TODO: Expose meta data and XML * * @author andyh + * */ -public interface ResultSet extends Iterable // Specific iterator over ResultSetRows +public interface ResultSet extends Iterable // Specfic iterator over ResultSetRows { /** - * Get the number of rows in this result set. This will be less than or equal to the maximum number of rows - * requested or the full length of the results set if no restriction on length are specified. If a skip count is - * given, the length represents the number of results after the skip count and does not include the items skipped. - * - * @return the number of results. -1 means unknown and can be returned for lazy evaluations of permissions when the - * actual size is not known and evaluated upon request. + * Get the relative paths to all the elements contained in this result set */ - public int length(); + Path[] getPropertyPaths(); /** - * Get the id of the node at the given index (if there is only one selector or no selector) - * - * @param n - * zero-based index - * @return return the the node ref for the row if there is only one selector - * @throws AmbiguousSelectorException + * Get the size of the result set */ - public NodeRef getNodeRef(int n); + int length(); /** - * Get the score for the node at the given position (if there is only one selector or no selector) + * Get the id of the node at the given index * - * @param n - * zero-based index - * @return return the score for the row if there is only one selector - * @throws AmbiguousSelectorException + * @param n zero-based index */ - public float getScore(int n); + NodeRef getNodeRef(int n); /** - * Close the result set and release any resources held/ The result set is bound to the transaction and will auto - * close at the end of the transaction. + * Get the score for the node at the given position + * + * @param n zero-based index */ - public void close(); + float getScore(int n); + /** + * Close the result set. + * This must be called to allow the release of underlying resources. + */ + + void close(); + /** * Get a row from the result set by row index, starting at 0. * - * @param i - * zero-based index - * @return return the row + * @param i zero-based index */ - public ResultSetRow getRow(int i); - + ResultSetRow getRow(int i); + /** - * Get a list of all the node refs in the result set (if there is only one selector or no selector) - * - * @return the node refs if there is only one selector or no selector * - * @throws AmbiguousSelectorException + * Get a list of all the node refs in the result set */ - public List getNodeRefs(); - + List getNodeRefs(); + /** - * Get a list of all the child associations in the results set. (if there is only one selectoror no selector) - * - * @return the child assoc refs if there is only one selector or no selector * - * @throws AmbiguousSelectorException + * Get a list of all the child associations in the results set. */ - public List getChildAssocRefs(); - + List getChildAssocRefs(); + /** - * Get the child assoc ref for a particular row. (if there is only one selectoror no selector) + * Get the child assoc ref for a particular row. * - * @param n - * zero-based index - * @return the child assoc ref for the row if there is only one selector or no selector + * @param n zero-based index */ - public ChildAssociationRef getChildAssocRef(int n); - + ChildAssociationRef getChildAssocRef(int n); + /** * Get the meta data for the results set. - * - * @return the metadata */ - public ResultSetMetaData getResultSetMetaData(); - - /** - * Get the start point for this results set in the overall set of rows that match the query - this will be equal to - * the skip count set when executing the query, and zero if this is not set. - * - * @return the position of the first result in the overall result set - */ - public int getStart(); - - /** - * Was this result set curtailed - are there more pages to the result set? - * - * @return true if there are more pages in the result set - */ - public boolean hasMore(); + ResultSetMetaData getResultSetMetaData(); } diff --git a/source/java/org/alfresco/service/cmr/search/ResultSetMetaData.java b/source/java/org/alfresco/service/cmr/search/ResultSetMetaData.java index a2ccf3b10c..ec23aae7fd 100644 --- a/source/java/org/alfresco/service/cmr/search/ResultSetMetaData.java +++ b/source/java/org/alfresco/service/cmr/search/ResultSetMetaData.java @@ -24,7 +24,6 @@ */ package org.alfresco.service.cmr.search; - /** * Meta Data associated with a result set. * @@ -58,51 +57,4 @@ public interface ResultSetMetaData */ public SearchParameters getSearchParameters(); - /** - * Get the result set type - * @return - */ - public ResultSetType getResultSetType(); - - /** - * The selector meta-data. - * @return - the selector meta-data. - */ - public ResultSetSelector getSelectors(); - - - /** - * The column meta-data. - * @return - the column meta-data. - */ - public ResultSetColumn getColumns(); - - /** - * Get the names of the selectors. - * @return - the selector names. - */ - public String[] getSelectorNames(); - - /** - * Get the column names. - * @return - the names of the columns. - */ - public String[] getColumnNames(); - - /** - * Get the selector meta-data by name. - * @param name - * @return - the selector meta-data. - */ - public ResultSetSelector getSelector(String name); - - /** - * Get the column meta-data by column name. - * @param name - * @return - the column meta-data. - */ - public ResultSetColumn getColumn(String name); - - - } diff --git a/source/java/org/alfresco/service/cmr/search/ResultSetRow.java b/source/java/org/alfresco/service/cmr/search/ResultSetRow.java index f7923b5594..8c600bb69f 100644 --- a/source/java/org/alfresco/service/cmr/search/ResultSetRow.java +++ b/source/java/org/alfresco/service/cmr/search/ResultSetRow.java @@ -49,14 +49,15 @@ public interface ResultSetRow * * @return Returns all the available node properties */ - public Map getValues(); + public Map getValues(); /** - * Get the data for a single column - * @param columnName - * @return the value + * Get a node property by path + * + * @param path the path to the value required + * @return Returns the value of the property at the given path */ - public Serializable getValue(String columnName); + public Serializable getValue(Path path); /** * Get a node property value by name @@ -73,21 +74,6 @@ public interface ResultSetRow */ public NodeRef getNodeRef(); - - /** - * Gets the node refs - * @return a map of selector name to node ref - */ - public Map getNodeRefs(); - - - /** - * Gets the node ref related to the named selector - * @param selectorName - * @return the node ref - */ - public NodeRef getNodeRef(String selectorName); - /** * Get the score for this row in the result set * @@ -96,20 +82,6 @@ public interface ResultSetRow public float getScore(); // Score is score + rank + potentially other // stuff - /** - * Get the scores . - * @return a map of selector name to score. - */ - public Map getScores(); - - /** - * Get the score related to the named selector. - * @param selectorName - * @return - the score. - */ - public float getScore(String selectorName); - - /** * Get the containing result set * @@ -124,9 +96,9 @@ public interface ResultSetRow public QName getQName(); /** - * Get the index of this result set in the result set - * If you want the overall position in paged reults you have to add the skipCount fo the result set. - * @return + * Get the position of this row in the containing set. + * + * @return Returns the position of this row in the containing resultset */ public int getIndex(); diff --git a/source/java/org/alfresco/service/cmr/search/ResultSetSelector.java b/source/java/org/alfresco/service/cmr/search/ResultSetSelector.java deleted file mode 100644 index 76f6e5561b..0000000000 --- a/source/java/org/alfresco/service/cmr/search/ResultSetSelector.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2005-2007 Alfresco Software Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - * As a special exception to the terms and conditions of version 2.0 of - * the GPL, you may redistribute this Program in connection with Free/Libre - * and Open Source Software ("FLOSS") applications as described in Alfresco's - * FLOSS exception. You should have recieved a copy of the text describing - * the FLOSS exception, and it is also available here: - * http://www.alfresco.com/legal/licensing" - */ -package org.alfresco.service.cmr.search; - -import org.alfresco.service.namespace.QName; - -/** - * The metadata for a ResultSet selector. - * - * @author andyh - * - */ -public interface ResultSetSelector -{ - /** - * The unique name for the selector. - * @return - the unique name for the selector - */ - public String getName(); - - /** - * Get the Alfresco type QName for the type or aspect - * @return - the type or aspect - */ - public QName getType(); -} diff --git a/source/java/org/alfresco/service/cmr/search/ResultSetType.java b/source/java/org/alfresco/service/cmr/search/ResultSetType.java deleted file mode 100644 index f12ab8d674..0000000000 --- a/source/java/org/alfresco/service/cmr/search/ResultSetType.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2005-2007 Alfresco Software Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - * As a special exception to the terms and conditions of version 2.0 of - * the GPL, you may redistribute this Program in connection with Free/Libre - * and Open Source Software ("FLOSS") applications as described in Alfresco's - * FLOSS exception. You should have recieved a copy of the text describing - * the FLOSS exception, and it is also available here: - * http://www.alfresco.com/legal/licensing" - */ -package org.alfresco.service.cmr.search; - -/** - * The two types of result set - column based and Node Ref based. - * @author andyh - * - */ -public enum ResultSetType -{ - /** - * Just the node ref is available for each row in the results. - */ - NODE_REF, - /** - * The node ref is available and a specified list of columns. - */ - COLUMN_AND_NODE_REF -} diff --git a/source/java/org/alfresco/service/cmr/search/SearchParameters.java b/source/java/org/alfresco/service/cmr/search/SearchParameters.java index a8e01d90b2..ea51033525 100644 --- a/source/java/org/alfresco/service/cmr/search/SearchParameters.java +++ b/source/java/org/alfresco/service/cmr/search/SearchParameters.java @@ -26,16 +26,13 @@ package org.alfresco.service.cmr.search; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Locale; -import java.util.Map; import java.util.Set; import org.alfresco.repo.domain.hibernate.BulkLoader; import org.alfresco.repo.search.MLAnalysisMode; -import org.alfresco.repo.search.impl.querymodel.QueryOptions.Connective; import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.repository.StoreRef; @@ -46,25 +43,29 @@ import org.alfresco.service.cmr.repository.StoreRef; * * @author Andy Hind */ -public class SearchParameters +public class SearchParameters extends SearchStatement { /* * The default limit if someone asks for a limited result set but does not say how to limit.... */ private static int DEFAULT_LIMIT = 500; - + private static int DEFAULT_BULK_FETCH_SIZE = 1000; /* * Standard sort definitions for sorting in document and score order. */ - public static final SortDefinition SORT_IN_DOCUMENT_ORDER_ASCENDING = new SortDefinition(SortDefinition.SortType.DOCUMENT, null, true); + public static final SortDefinition SORT_IN_DOCUMENT_ORDER_ASCENDING = new SortDefinition( + SortDefinition.SortType.DOCUMENT, null, true); - public static final SortDefinition SORT_IN_DOCUMENT_ORDER_DESCENDING = new SortDefinition(SortDefinition.SortType.DOCUMENT, null, false); + public static final SortDefinition SORT_IN_DOCUMENT_ORDER_DESCENDING = new SortDefinition( + SortDefinition.SortType.DOCUMENT, null, false); - public static final SortDefinition SORT_IN_SCORE_ORDER_ASCENDING = new SortDefinition(SortDefinition.SortType.SCORE, null, false); + public static final SortDefinition SORT_IN_SCORE_ORDER_ASCENDING = new SortDefinition( + SortDefinition.SortType.SCORE, null, false); - public static final SortDefinition SORT_IN_SCORE_ORDER_DESCENDING = new SortDefinition(SortDefinition.SortType.SCORE, null, true); + public static final SortDefinition SORT_IN_SCORE_ORDER_DESCENDING = new SortDefinition( + SortDefinition.SortType.SCORE, null, true); /** * An emum defining if the default action is to "and" or "or" unspecified components in the query register. Not all @@ -85,18 +86,18 @@ public class SearchParameters /* * The parameters that can be set */ - private String language; - - private String query; - private ArrayList stores = new ArrayList(1); + private ArrayList attributePaths = new ArrayList(1); + private ArrayList queryParameterDefinitions = new ArrayList(1); private boolean excludeDataInTheCurrentTransaction = false; private ArrayList sortDefinitions = new ArrayList(1); + private Operator defaultOperator = Operator.OR; + private ArrayList locales = new ArrayList(); private MLAnalysisMode mlAnalaysisMode = null; // Pick up from config if null @@ -106,27 +107,15 @@ public class SearchParameters private PermissionEvaluationMode permissionEvaluation = PermissionEvaluationMode.EAGER; private int limit = DEFAULT_LIMIT; - + private HashSet allAttributes = new HashSet(); - + private HashSet textAttributes = new HashSet(); private boolean bulkFetch = true; private int bulkFetchSize = DEFAULT_BULK_FETCH_SIZE; - private int maxItems = -1; - - private int skipCount = 0; - - private Operator defaultFTSOperator = Operator.OR; - - private Operator defaultFTSFieldOperator = Operator.OR; - - private Map queryTemplates = new HashMap(); - - private String namespace; - /** * Default constructor */ @@ -135,43 +124,6 @@ public class SearchParameters super(); } - public String getLanguage() - { - return language; - } - - /** - * Get the query. - * - * @return - */ - public String getQuery() - { - return query; - } - - /** - * Set the query language. - * - * @param language - - * the query language. - */ - public void setLanguage(String language) - { - this.language = language; - } - - /** - * Set the query string. - * - * @param query - - * the query string. - */ - public void setQuery(String query) - { - this.query = query; - } - /** * Set the stores to be supported - currently there can be only one. Searching across multiple stores is on the todo * list. @@ -187,6 +139,16 @@ public class SearchParameters stores.add(store); } + /** + * Add paths for attributes in the result set. Generally this only makes sense for disconnected results sets. These + * atttributes/paths state what must be present in the result set, akin to the selection of columns is sql. + * + * @param attributePath + */ + public void addAttrbutePath(Path attributePath) + { + attributePaths.add(attributePath); + } /** * Add parameter definitions for the query - used to parameterise the query string @@ -238,6 +200,16 @@ public class SearchParameters sortDefinitions.add(sortDefinition); } + /** + * Get the list of attribute paths that are guarenteed to be in the result set. + * + * @return + */ + public ArrayList getAttributePaths() + { + return attributePaths; + } + /** * Is data in the current transaction excluded from the search. * @@ -285,8 +257,7 @@ public class SearchParameters */ public void setDefaultOperator(Operator defaultOperator) { - this.defaultFTSOperator = defaultOperator; - this.defaultFTSFieldOperator = defaultOperator; + this.defaultOperator = defaultOperator; } /** @@ -296,7 +267,7 @@ public class SearchParameters */ public Operator getDefaultOperator() { - return getDefaultFTSOperator(); + return defaultOperator; } /** @@ -360,8 +331,8 @@ public class SearchParameters } /** - * The way in which multilingual fields are treated durig a search. By default, only the specified locale is used - * and it must be an exact match. + * The way in which multilingual fields are treated durig a search. + * By default, only the specified locale is used and it must be an exact match. * * @return */ @@ -371,8 +342,8 @@ public class SearchParameters } /** - * Set the way in which multilingual fields are treated durig a search. This controls in which locales an - * multilingual fields will match. + * Set the way in which multilingual fields are treated durig a search. + * This controls in which locales an multilingual fields will match. * * @param mlAnalaysisMode */ @@ -382,8 +353,9 @@ public class SearchParameters } /** - * Add a locale to include for multi-lingual text searches. If non are set, the default is to use the user's locale. - * + * Add a locale to include for multi-lingual text searches. + * If non are set, the default is to use the user's locale. + * * @param locale */ public void addLocale(Locale locale) @@ -400,10 +372,14 @@ public class SearchParameters { return Collections.unmodifiableList(locales); } + + + /** - * Add a locale to include for multi-lingual text searches. If non are set, the default is to use the user's locale. - * + * Add a locale to include for multi-lingual text searches. + * If non are set, the default is to use the user's locale. + * * @param locale */ public void addTextAttribute(String attribute) @@ -420,10 +396,11 @@ public class SearchParameters { return Collections.unmodifiableSet(textAttributes); } - + /** - * Add a locale to include for multi-lingual text searches. If non are set, the default is to use the user's locale. - * + * Add a locale to include for multi-lingual text searches. + * If non are set, the default is to use the user's locale. + * * @param locale */ public void addAllAttribute(String attribute) @@ -440,10 +417,9 @@ public class SearchParameters { return Collections.unmodifiableSet(allAttributes); } - + /** * Bulk fetch results in the cache - * * @param bulkFetch * @return */ @@ -451,10 +427,9 @@ public class SearchParameters { this.bulkFetch = bulkFetch; } - + /** * Do we bulk fect - * * @return */ public boolean getBulkFetch() @@ -464,126 +439,24 @@ public class SearchParameters /** * Set the bulk fect size - * * @param bulkFecthSize */ public void setBulkFetchSize(int bulkFetchSize) { this.bulkFetchSize = bulkFetchSize; } - + + /** * Get the bulk fetch size. - * * @return */ public int getBulkFecthSize() { return bulkFetchSize; } - - /** - * Get the max number of rows for the result set 0 or less is unlimited - * - * @return the maxItems - */ - public int getMaxItems() - { - return maxItems; - } - - /** - * Set the max number of rows for the result set 0 or less is unlimited - * - * @param maxItems - * the maxItems to set - */ - public void setMaxItems(int maxItems) - { - this.maxItems = maxItems; - } - - /** - * Get the skip count - the number of rows to skip at the start of the query. - * - * @return the skipCount - */ - public int getSkipCount() - { - return skipCount; - } - - /** - * Set the skip count - the number of rows to skip at the start of the query. - * - * @param skipCount - * the skipCount to set - */ - public void setSkipCount(int skipCount) - { - this.skipCount = skipCount; - } - - /** - * Get the default connective used when OR and AND are not specified for the FTS contains() function. - * - * @return the defaultFTSConnective - */ - public Operator getDefaultFTSOperator() - { - return defaultFTSOperator; - } - - /** - * Set the default connective used when OR and AND are not specified for the FTS contains() function. - * - * @param defaultFTSConnective - * the defaultFTSConnective to set - */ - public void setDefaultFTSOperator(Operator defaultFTSOperator) - { - this.defaultFTSOperator = defaultFTSOperator; - } - - /** - * As getDefaultFTSConnective() but for field groups - * - * @return the defaultFTSFieldConnective - */ - public Operator getDefaultFTSFieldOperator() - { - return defaultFTSFieldOperator; - } - - /** - * As setDefaultFTSConnective() but for field groups - * - * @param defaultFTSFieldConnective - * the defaultFTSFieldConnective to set - */ - public void setDefaultFTSFieldConnective(Operator defaultFTSFieldOperator) - { - this.defaultFTSFieldOperator = defaultFTSFieldOperator; - } - - /** - * Get the default namespace. - * @return the default namspace uri or prefix. - */ - public String getNamespace() - { - return namespace; - } - - /** - * Set the default namespace - * @param namespace - the uri or prefix for the default namespace. - */ - public void setNamespace(String namespace) - { - this.namespace = namespace; - } - + + /** * A helper class for sort definition. Encapsulated using the lucene sortType, field name and a flag for * ascending/descending. @@ -627,5 +500,4 @@ public class SearchParameters } } - } diff --git a/source/java/org/alfresco/service/cmr/search/SearchService.java b/source/java/org/alfresco/service/cmr/search/SearchService.java index da9ee27c6c..fd934941c2 100644 --- a/source/java/org/alfresco/service/cmr/search/SearchService.java +++ b/source/java/org/alfresco/service/cmr/search/SearchService.java @@ -62,6 +62,27 @@ public interface SearchService //public static final String LANGUAGE_SQL_ALFTRESCO = "sql-alfresco"; + /** + * Search against a store. + * + * @param store - + * the store against which to search + * @param language - + * the query language + * @param query - + * the query string - which may include parameters + * @param attributePaths - + * explicit list of attributes/properties to extract for the + * selected nodes in xpath style syntax + * @param queryParameterDefinition - + * query parameter definitions - the default value is used for + * the value. + * @return Returns the query results + */ + @Auditable(key = Auditable.Key.ARG_0, parameters = {"store", "language", "query", "attributePaths", "queryParameterDefinitions"}) + public ResultSet query(StoreRef store, String language, String query, Path[] attributePaths, + QueryParameterDefinition[] queryParameterDefinitions); + /** * Search against a store. Pulls back all attributes on each node. Does not * allow parameterisation. @@ -95,7 +116,23 @@ public interface SearchService public ResultSet query(StoreRef store, String language, String query, QueryParameterDefinition[] queryParameterDefintions); - + /** + * Search against a store. + * + * @param store - + * the store against which to search + * @param language - + * the query language + * @param query - + * the query string - which may include parameters + * @param attributePaths - + * explicit list of attributes/properties to extract for the + * selected nodes in xpath style syntax + * @return Returns the query results + */ + @Auditable(key = Auditable.Key.ARG_0, parameters = {"store", "language", "query", "attributePaths"}) + public ResultSet query(StoreRef store, String language, String query, Path[] attributePaths); + /** * Execute a canned query * diff --git a/source/java/org/alfresco/service/cmr/search/ResultSetColumn.java b/source/java/org/alfresco/service/cmr/search/SearchStatement.java similarity index 54% rename from source/java/org/alfresco/service/cmr/search/ResultSetColumn.java rename to source/java/org/alfresco/service/cmr/search/SearchStatement.java index be22bcf4af..b67bc44b86 100644 --- a/source/java/org/alfresco/service/cmr/search/ResultSetColumn.java +++ b/source/java/org/alfresco/service/cmr/search/SearchStatement.java @@ -1,55 +1,95 @@ -/* - * Copyright (C) 2005-2007 Alfresco Software Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - * As a special exception to the terms and conditions of version 2.0 of - * the GPL, you may redistribute this Program in connection with Free/Libre - * and Open Source Software ("FLOSS") applications as described in Alfresco's - * FLOSS exception. You should have recieved a copy of the text describing - * the FLOSS exception, and it is also available here: - * http://www.alfresco.com/legal/licensing" - */ -package org.alfresco.service.cmr.search; - -import org.alfresco.service.namespace.QName; - -/** - * The metadata for a column in a result set. - * All columns should have a data type, they may have a property type. - * - * @author andyh - * - */ -public interface ResultSetColumn -{ - /** - * The column name - * @return - the column name - */ - public String getName(); - - /** - * The type of the column - * @return - the data type for the column - */ - public QName getDataType(); - - /** - * The property definition if there is one for the column - * @return - the property definition or null if it does not make sense for the column - */ - public QName getPropertyType(); -} +/* + * Copyright (C) 2005-2007 Alfresco Software Limited. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + * As a special exception to the terms and conditions of version 2.0 of + * the GPL, you may redistribute this Program in connection with Free/Libre + * and Open Source Software ("FLOSS") applications as described in Alfresco's + * FLOSS exception. You should have recieved a copy of the text describing + * the FLOSS exception, and it is also available here: + * http://www.alfresco.com/legal/licensing" + */ +package org.alfresco.service.cmr.search; + +/** + * A search string and language. + * + * @author Andy Hind + */ +public class SearchStatement +{ + + private String language; + private String query; + + SearchStatement() + { + super(); + } + + /** + * A constructor that takes both arguments. + * + * @param language + * @param query + */ + SearchStatement(String language, String query) + { + this.language = language; + this.query = query; + } + + /** + * Get the query language. + * + * @return + */ + public String getLanguage() + { + return language; + } + + /** + * Get the query. + * + * @return + */ + public String getQuery() + { + return query; + } + + /** + * Set the query language. + * + * @param language - the query language. + */ + public void setLanguage(String language) + { + this.language = language; + } + + /** + * Set the query string. + * + * @param query - the query string. + */ + public void setQuery(String query) + { + this.query = query; + } + +}