diff --git a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/AbstractAlfrescoSolrTests.java b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/AbstractAlfrescoSolrTests.java
index b3f71de93..5a129f8cf 100644
--- a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/AbstractAlfrescoSolrTests.java
+++ b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/AbstractAlfrescoSolrTests.java
@@ -98,6 +98,7 @@ public abstract class AbstractAlfrescoSolrTests implements SolrTestFiles, Alfre
*
*/
protected static TestHarness.LocalRequestFactory lrf;
+ protected static String testBaseFolderNodeRef;
protected AlfrescoSolrDataModel dataModel = AlfrescoSolrDataModel.getInstance();
public static void initAlfrescoCore(String config, String schema) throws Exception
@@ -576,11 +577,23 @@ public abstract class AbstractAlfrescoSolrTests implements SolrTestFiles, Alfre
/**
* Generates a SolrQueryRequest
*/
- public static SolrQueryRequest req(SolrParams params, String... moreParams) {
- ModifiableSolrParams mp = new ModifiableSolrParams(params);
- for (int i=0; i.
+ */
package org.alfresco.solr;
import static org.alfresco.repo.search.adaptor.lucene.QueryConstants.FIELD_DOC_TYPE;
@@ -38,7 +56,11 @@ import org.junit.BeforeClass;
import org.junit.Test;
import static org.alfresco.solr.AlfrescoSolrUtils.*;
-
+/**
+ * Load test data as part of legacy test.
+ * @author Michael Suzuki
+ *
+ */
public class LoadTestData extends AbstractAlfrescoSolrTests
{
private static int orderTextCount = 0;
diff --git a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoFTSQParserPluginTest.java b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoFTSQParserPluginTest.java
index b295b0fe9..ca3e4d2e3 100644
--- a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoFTSQParserPluginTest.java
+++ b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoFTSQParserPluginTest.java
@@ -1,1342 +1,1342 @@
-/*
- * Copyright (C) 2005-2014 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-
-package org.alfresco.solr.query;
-
-import org.alfresco.model.ContentModel;
-import org.alfresco.service.namespace.QName;
-import org.alfresco.solr.AlfrescoSolrDataModel;
-import org.alfresco.solr.AlfrescoSolrTestCaseJ4;
-import org.alfresco.solr.SolrInformationServer;
-import org.alfresco.util.SearchLanguageConversion;
-import org.apache.lucene.util.LuceneTestCase;
-import org.alfresco.repo.search.adaptor.lucene.QueryConstants;
-import org.apache.solr.SolrTestCaseJ4;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import java.util.Locale;
-
-
-@LuceneTestCase.SuppressCodecs({"Appending","Lucene3x","Lucene40","Lucene41","Lucene42","Lucene43", "Lucene44", "Lucene45","Lucene46","Lucene47","Lucene48","Lucene49"})
-@SolrTestCaseJ4.SuppressSSL
-public class AlfrescoFTSQParserPluginTest extends AlfrescoSolrTestCaseJ4 implements QueryConstants {
-
- @BeforeClass
- public static void beforeClass() throws Exception {
- initAlfrescoCore("solrconfig-afts.xml", "schema-afts.xml");
- Thread.sleep(30000);
- loadTestSet();
- }
-
- @Override
- @Before
- public void setUp() throws Exception {
- // if you override setUp or tearDown, you better callf
- // the super classes version
- super.setUp();
- //clearIndex();
- //assertU(commit());
- }
-
- /*
- @Test
- public void testAftsQueries() throws Exception {
-
- //assertU(delQ("*:*"));
- //assertU(commit());
-
- String[] doc = {"id", "1", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
- assertU(adoc(doc));
- assertU(commit());
- String[] doc1 = {"id", "2", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
- assertU(adoc(doc1));
-
- String[] doc2 = {"id", "3", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
- assertU(adoc(doc2));
- assertU(commit());
- String[] doc3 = {"id", "4", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
- assertU(adoc(doc3));
-
- String[] doc4 = {"id", "5", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
- assertU(adoc(doc4));
- assertU(commit());
-
- String[] doc5 = {"id", "6", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
- assertU(adoc(doc5));
- assertU(commit());
-
-
- ModifiableSolrParams params = new ModifiableSolrParams();
- params.add("q", "t1:YYYY");
- params.add("qt", "/afts");
- params.add("start", "0");
- params.add("rows", "6");
- SolrServletRequest req = areq(params, "{\"locales\":[\"en\"], \"templates\": [{\"name\":\"t1\", \"template\":\"%cm:content\"}]}");
- assertQ(req, "*[count(//doc)=6]");
-
- }
-*/
- @Test
- public void dataChecks() throws Exception {
- /******** Check the root node **********/
- assertAQuery("PATH:\"/\"", 1);
- assertAQuery("PATH:\"/.\"", 1);
-
- /******* Check paths ********************/
- assertAQuery("PATH:\"/cm:one\"", 1);
- assertAQuery("PATH:\"/cm:two\"", 1);
- assertAQuery("PATH:\"/cm:three\"", 1);
- assertAQuery("PATH:\"/cm:four\"", 1);
- assertAQuery("PATH:\"/cm:eight-0\"", 1);
- assertAQuery("PATH:\"/cm:five\"", 0);
- assertAQuery("PATH:\"/cm:one/cm:one\"", 0);
- assertAQuery("PATH:\"/cm:one/cm:two\"", 0);
- assertAQuery("PATH:\"/cm:two/cm:one\"", 0);
- assertAQuery("PATH:\"/cm:two/cm:two\"", 0);
- assertAQuery("PATH:\"/cm:one/cm:five\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:six\"", 1);
- assertAQuery("PATH:\"/cm:two/cm:seven\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:eight-1\"", 1);
- assertAQuery("PATH:\"/cm:two/cm:eight-2\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:eight-2\"", 0);
- assertAQuery("PATH:\"/cm:two/cm:eight-1\"", 0);
- assertAQuery("PATH:\"/cm:two/cm:eight-0\"", 0);
- assertAQuery("PATH:\"/cm:one/cm:eight-0\"", 0);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:nine\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:ten\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:eleven\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve/cm:thirteen\"", 1);
- assertAQuery(
- "PATH:\"/cm:one/cm:five/cm:twelve/cm:thirteen/cm:fourteen\"", 1);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve/cm:thirteen/cm:common\"",
- 1);
- assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve/cm:common\"", 1);
- assertAQuery("PATH:\"/cm:*\"", 5);
- assertAQuery("PATH:\"/cm:*/cm:*\"", 6);
- assertAQuery("PATH:\"/cm:*/cm:five\"", 1);
- assertAQuery("PATH:\"/cm:*/cm:*/cm:*\"", 6);
- assertAQuery("PATH:\"/cm:one/cm:*\"", 4);
- assertAQuery("PATH:\"/cm:*/cm:five/cm:*\"", 5);
- assertAQuery("PATH:\"/cm:one/cm:*/cm:nine\"", 1);
- assertAQuery("PATH:\"/*\"", 5);
- assertAQuery("PATH:\"/*/*\"", 6);
- assertAQuery("PATH:\"/*/cm:five\"", 1);
- assertAQuery("PATH:\"/*/*/*\"", 6);
- assertAQuery("PATH:\"/cm:one/*\"", 4);
- assertAQuery("PATH:\"/*/cm:five/*\"", 5);
- assertAQuery("PATH:\"/cm:one/*/cm:nine\"", 1);
- assertAQuery("PATH:\"//.\"", 16);
- assertAQuery("PATH:\"//*\"", 15);
- assertAQuery("PATH:\"//*/.\"", 15);
- assertAQuery("PATH:\"//*/./.\"", 15);
- assertAQuery("PATH:\"//./*\"", 15);
- assertAQuery("PATH:\"//././*/././.\"", 15);
- assertAQuery("PATH:\"//cm:common\"", 1);
- assertAQuery("PATH:\"/one//common\"", 1);
- assertAQuery("PATH:\"/one/five//*\"", 7);
- assertAQuery("PATH:\"/one/five//.\"", 8);
- assertAQuery("PATH:\"/one//five/nine\"", 1);
- assertAQuery("PATH:\"/one//thirteen/fourteen\"", 1);
- assertAQuery("PATH:\"/one//thirteen/fourteen/.\"", 1);
- assertAQuery("PATH:\"/one//thirteen/fourteen//.\"", 1);
- assertAQuery("PATH:\"/one//thirteen/fourteen//.//.\"", 1);
-
- assertAQuery("PATH:\"/one\"", 1);
- assertAQuery("PATH:\"/two\"", 1);
- assertAQuery("PATH:\"/three\"", 1);
- assertAQuery("PATH:\"/four\"", 1);
-
- /******** Check qNames ***************/
- assertAQuery("QNAME:\"nine\"", 1);
- assertAQuery("PRIMARYASSOCTYPEQNAME:\"cm:contains\"", 11);
- assertAQuery("PRIMARYASSOCTYPEQNAME:\"sys:children\"", 4);
- assertAQuery("ASSOCTYPEQNAME:\"cm:contains\"", 11);
- assertAQuery("ASSOCTYPEQNAME:\"sys:children\"", 5);
-
- /******** check type ****************/
- assertAQuery("TYPE:\"" + testType.toString() + "\"", 1);
- assertAQuery("TYPE:\"" + testType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
- assertAQuery("EXACTTYPE:\"" + testType.toString() + "\"", 1);
- assertAQuery("EXACTTYPE:\"" + testType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
- assertAQuery("TYPE:\"" + testSuperType.toString() + "\"", 13);
- assertAQuery("TYPE:\"" + testSuperType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 13);
- assertAQuery("TYPE:\"" + ContentModel.TYPE_CONTENT.toString() + "\"", 1);
- assertAQuery("TYPE:\"cm:content\"", 1);
- assertAQuery("TYPE:\"cm:content0\"", 0);
- assertAQuery("TYPE:\"cm:CONTENT\"", 1);
- assertAQuery("TYPE:\"cm:CONTENT1\"", 0);
- assertAQuery("TYPE:\"CM:CONTENT\"", 1);
- assertAQuery("TYPE:\"CM:CONTENT1\"", 0);
- assertAQuery("TYPE:\"CONTENT\"", 1);
- assertAQuery("TYPE:\"CONTENT1\"", 0);
- assertAQuery("TYPE:\"content\"", 1);
- assertAQuery("TYPE:\"content0\"", 0);
- assertAQuery("ASPECT:\"flubber\"", 0);
- assertAQuery("TYPE:\"" + ContentModel.TYPE_THUMBNAIL.toString() + "\"",
- 1);
- assertAQuery("TYPE:\"" + ContentModel.TYPE_THUMBNAIL.toString()
- + "\" TYPE:\"" + ContentModel.TYPE_CONTENT.toString() + "\"", 2);
- assertAQuery("EXACTTYPE:\"" + testSuperType.toString() + "\"", 12);
- assertAQuery("EXACTTYPE:\"" + testSuperType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 12);
- assertAQuery("ASPECT:\"" + testAspect.toString() + "\"", 1);
- assertAQuery("ASPECT:\"" + testAspect.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
- assertAQuery("EXACTASPECT:\"" + testAspect.toString() + "\"", 1);
- assertAQuery("EXACTASPECT:\"" + testAspect.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
-
-
- /*********** Check data type **********/
- assertAQuery("d\\:double:\"5.6\"", 1);
- assertAQuery("d\\:content:\"fox\"", 1);
- assertAQuery("d\\:content:\"fox\"", 1, Locale.US, null, null);
-
-
- /*********** Check text **************/
- assertAQuery("TEXT:fox AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", 1);
- assertAQuery("TEXT:fox @cm\\:name:fox", 1);
- assertAQuery("d\\:content:fox d\\:text:fox", 1);
- assertAQuery("TEXT:fo AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", 0);
-
- assertAQuery("TEXT:\"the\"", 1);
- assertAQuery("TEXT:\"and\"", 1);
-
- //TODO fix this assert
- //assertAQuery("TEXT:\"over the lazy\"", 1);
- // Depends on stop words being removed .... which depends on the configuration
- //assertAQuery("TEXT:\"over a lazy\"", 1);
-
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":*a*", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":*A*", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":\"*a*\"", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":\"*A*\"", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":*s*", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":*S*", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":\"*s*\"", 1);
- assertAQuery("\\@"
- + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
- "text-indexed-stored-tokenised-atomic").toString()) + ":\"*S*\"", 1);
- assertAQuery("TEXT:*A*", 1);
- assertAQuery("TEXT:\"*a*\"", 1);
- assertAQuery("TEXT:\"*A*\"", 1);
- assertAQuery("TEXT:*a*", 1);
- assertAQuery("TEXT:*Z*", 1);
- assertAQuery("TEXT:\"*z*\"", 1);
- assertAQuery("TEXT:\"*Z*\"", 1);
- assertAQuery("TEXT:*z*", 1);
- assertAQuery("TEXT:laz*", 1);
- assertAQuery("TEXT:laz~", 1);
- assertAQuery("TEXT:la?y", 1);
- assertAQuery("TEXT:?a?y", 1);
- assertAQuery("TEXT:*azy", 1);
- assertAQuery("TEXT:*az*", 1);
-
- // Accents
-
- assertAQuery("TEXT:\"\u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF\"", 1);
- assertAQuery("TEXT:\"aeidnouy\"", 1);
-
- /**************** Check text *********************/
-
- assertAQuery("TEXT:\"fox\"", 1);
- assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
- + ":\"fox\"", 1);
- assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
- + ".mimetype:\"text/plain\"", 1);
- assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
- + ".locale:\"en_GB\"", 1);
- assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
- + ".locale:en_*", 1);
- assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
- + ".locale:e*_GB", 1);
- assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
- + ".size:\"298\"", 1);
-
- //TODO Fix these tests
-
- assertAQuery("TEXT:\"fox\"", 0, null, new String[] { "@"
- + ContentModel.PROP_NAME.toString() }, null);
- assertAQuery("TEXT:\"fox\"", 1, null, new String[] {
- "@" + ContentModel.PROP_NAME.toString(), "@" + ContentModel.PROP_CONTENT.toString() }, null);
- assertAQuery("TEXT:\"cabbage\"", 15, null, new String[] { "@"
- + orderText.toString() }, null);
- assertAQuery("TEXT:\"cab*\"", 15, null,
- new String[] { "@" + orderText.toString() }, null);
- assertAQuery("TEXT:\"*bage\"", 15, null,
- new String[] { "@" + orderText.toString() }, null);
- assertAQuery("TEXT:\"*ba*\"", 15, null,
- new String[] { "@" + orderText.toString() }, null);
- assertAQuery("TEXT:cabbage", 15, null,
- new String[] { "@" + orderText.toString() }, null);
- assertAQuery("TEXT:*cab*", 15, Locale.ENGLISH, new String[] { "@"
- + orderText.toString() }, null);
- assertAQuery("TEXT:*bage", 15, null,
- new String[] { "@" + orderText.toString() }, null);
-
-// assertAQuery("TEXT:dabbage~0.3", 15, null, new String[] { "@"
-// + orderText.toString() }, null);
-
- assertAQuery("TEXT:\"alfresco\"", 1);
- assertAQuery("TEXT:\"alfresc?\"", 1);
- assertAQuery("TEXT:\"alfres??\"", 1);
- assertAQuery("TEXT:\"alfre???\"", 1);
- assertAQuery("TEXT:\"alfr????\"", 1);
- assertAQuery("TEXT:\"alf?????\"", 1);
- assertAQuery("TEXT:\"al??????\"", 1);
- assertAQuery("TEXT:\"a???????\"", 1);
- assertAQuery("TEXT:\"????????\"", 1);
- assertAQuery("TEXT:\"a??re???\"", 1);
- assertAQuery("TEXT:\"?lfresco\"", 1);
- assertAQuery("TEXT:\"??fresco\"", 1);
- assertAQuery("TEXT:\"???resco\"", 1);
- assertAQuery("TEXT:\"????esco\"", 1);
- assertAQuery("TEXT:\"?????sco\"", 1);
- assertAQuery("TEXT:\"??????co\"", 1);
- assertAQuery("TEXT:\"???????o\"", 1);
- assertAQuery("TEXT:\"???res?o\"", 1);
- assertAQuery("TEXT:\"????e?co\"", 1);
- assertAQuery("TEXT:\"????e?c?\"", 1);
- assertAQuery("TEXT:\"???re???\"", 1);
-
- assertAQuery("TEXT:\"alfresc*\"", 1);
- assertAQuery("TEXT:\"alfres*\"", 1);
- assertAQuery("TEXT:\"alfre*\"", 1);
- assertAQuery("TEXT:\"alfr*\"", 1);
- assertAQuery("TEXT:\"alf*\"", 1);
- assertAQuery("TEXT:\"al*\"", 1);
- assertAQuery("TEXT:\"a*\"", 1);
- assertAQuery("TEXT:\"a****\"", 1);
- assertAQuery("TEXT:\"*lfresco\"", 1);
- assertAQuery("TEXT:\"*fresco\"", 1);
- assertAQuery("TEXT:\"*resco\"", 1);
- assertAQuery("TEXT:\"*esco\"", 1);
- assertAQuery("TEXT:\"*sco\"", 1);
- assertAQuery("TEXT:\"*co\"", 1);
- assertAQuery("TEXT:\"*o\"", 1);
- assertAQuery("TEXT:\"****lf**sc***\"", 1);
- // Lucene wildcard bug matches when it should not ....
- //assertAQuery("TEXT:\"*??*lf**sc***\"", 0);
- assertAQuery("TEXT:\"??lf**sc***\"", 0);
- assertAQuery("TEXT:\"alfresc*tutorial\"", 0);
- assertAQuery("TEXT:\"alf* tut*\"", 1);
- assertAQuery("TEXT:\"*co *al\"", 1);
-
- /********* check mltext ************/
-
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfresco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfresc?\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfres??\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfre???\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfr????\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alf?????\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"al??????\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"a???????\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"????????\"", 1);
-
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"a??re???\"", 1);
-
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"?lfresco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"??fresco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"???resco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"????esco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"?????sco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"??????co\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"???????o\"", 1);
-
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"???resco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"???res?o\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"????e?co\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"????e?c?\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"???re???\"", 1);
-
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfresc*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfres*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfre*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alfr*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"alf*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"al*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"a*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"a*****\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*lfresco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*fresco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*resco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*esco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*sco\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*co\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*o\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"****lf**sc***\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*??*lf**sc***\"", 0);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"Alfresc*tutorial\"", 0);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"Alf* tut*\"", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
- + ":\"*co *al\"", 1);
-
- QName mlQName = QName.createQName(TEST_NAMESPACE, "ml");
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":and", 0);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":\"and\"", 0);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1);
-
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1, Locale.UK,
- null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1,
- Locale.ENGLISH, null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banane", 1,
- Locale.FRENCH, null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":香蕉", 1,
- Locale.CHINESE, null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banaan", 1,
- new Locale("nl"), null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banane", 1,
- Locale.GERMAN, null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":μπανάνα", 1,
- new Locale("el"), null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1,
- Locale.ITALIAN, null, null);
-
- //TODO fix test
- /*
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":�?ナナ", 1, new Locale(
- "ja"), null, null);
- */
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":바나나", 1, new Locale(
- "ko"), null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1,
- new Locale("pt"), null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":банан", 1, new Locale(
- "ru"), null, null);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":plátano", 1,
- new Locale("es"), null, null);
-
- /*********** Check ranges **************/
-
- assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[a TO b]", 1);
- assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[a TO \uFFFF]", 14);
- assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[* TO b]", 2);
- assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[\u0000 TO b]", 2);
- assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[d TO \uFFFF]", 12);
- assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[d TO *]", 12);
-
- /*********** Check non-field ************/
-
- assertAQuery("TEXT:fox", 1);
- assertAQuery("TEXT:fo*", 1);
- assertAQuery("TEXT:f*x", 1);
- assertAQuery("TEXT:*ox", 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":fox",
- 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":fo*",
- 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":f*x",
- 1);
- assertAQuery(
- "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":*ox",
- 1);
- assertAQuery(
- "@"
- + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
- .toPrefixString(dataModel.getNamespaceDAO())) + ":fox", 1);
- assertAQuery(
- "@"
- + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
- .toPrefixString(dataModel.getNamespaceDAO())) + ":fo*", 1);
- assertAQuery(
- "@"
- + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
- .toPrefixString(dataModel.getNamespaceDAO())) + ":f*x", 1);
- assertAQuery(
- "@"
- + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
- .toPrefixString(dataModel.getNamespaceDAO())) + ":*ox", 1);
-
- /************** Check null and unset *************/
-
- assertAQuery("ISUNSET:\""
- + QName.createQName(TEST_NAMESPACE, "null").toString() + "\"", 0);
- assertAQuery("ISNULL:\"" + QName.createQName(TEST_NAMESPACE,
- "null").toString() + "\"", 1);
- assertAQuery("EXISTS:\"" + QName.createQName(TEST_NAMESPACE,
- "null").toString() + "\"", 1);
- assertAQuery("ISNOTNULL:\""
- + QName.createQName(TEST_NAMESPACE, "null").toString() + "\"", 0);
-
- assertAQuery("ISUNSET:\"" + QName.createQName(TEST_NAMESPACE, "path-ista").toString() + "\"", 0);
- assertAQuery("ISNULL:\"" + QName.createQName(TEST_NAMESPACE,
- "path-ista").toString() + "\"", 0);
- assertAQuery("ISNOTNULL:\"" + QName.createQName(TEST_NAMESPACE, "path-ista").toString() + "\"", 1);
- assertAQuery("EXISTS:\"" + QName.createQName(TEST_NAMESPACE, "path-ista").toString() + "\"", 1);
-
- assertAQuery("ISUNSET:\"" + QName.createQName(TEST_NAMESPACE, "aspectProperty").toString() + "\"", 0);
- assertAQuery("ISNULL:\"" + QName.createQName(TEST_NAMESPACE,
- "aspectProperty").toString() + "\"", 0);
- assertAQuery("ISNOTNULL:\"" + QName.createQName(TEST_NAMESPACE, "aspectProperty").toString() + "\"", 1);
- assertAQuery("EXISTS:\"" + QName.createQName(TEST_NAMESPACE, "aspectProperty").toString() + "\"", 1);
-
-
- /***** Check internal fields ******/
-
- final Long aclId = new Long(1);
-
- for (int i = 1; i < 16; i++)
- {
- Long dbId = new Long(i);
- String id = SearchLanguageConversion.escapeLuceneQuery(AlfrescoSolrDataModel.getNodeDocumentId(AlfrescoSolrDataModel.DEFAULT_TENANT, aclId, dbId));
- assertQ(areq(params("q", FIELD_SOLR4_ID + ":" + id, "qt", "/afts"), null),
- "*[count(//doc)=1]");
- }
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_NODE), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_ACL), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_ACL_TX), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_TX), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PARENT + ":\"" + testNodeRef + "\""), null),
- "*[count(//doc)=4]");
-
- // AbstractLuceneQueryParser.FIELD_LINKASPECT is not used for SOLR
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ANCESTOR + ":\"" + testNodeRef + "\""), null),
- "*[count(//doc)=10]");
-
- // AbstractLuceneQueryParser.FIELD_ISCONTAINER is not used for SOLR
- // AbstractLuceneQueryParser.FIELD_ISCATEGORY is not used for SOLR
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:one\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:two\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:three\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:four\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:five\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:six\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:seven\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eight-0\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eight-1\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eight-2\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:nine\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:ten\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eleven\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:twelve\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:thirteen\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:fourteen\""), null),
- "*[count(//doc)=2]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:fifteen\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:common\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:link\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:one\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:two\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:three\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:four\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:five\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:six\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:seven\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eight-0\""), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eight-1\""), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eight-2\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:nine\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:ten\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eleven\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:twelve\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:thirteen\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:fourteen\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:fifteen\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:common\""), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:link\""), null),
- "*[count(//doc)=0]");
-
- // AbstractLuceneQueryParser.FIELD_ISROOT is not used in SOLR
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCTYPEQNAME + ":\""
- + ContentModel.ASSOC_CHILDREN.toPrefixString(dataModel.getNamespaceDAO()) + "\""), null),
- "*[count(//doc)=4]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ISNODE + ":T"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ASSOCTYPEQNAME + ":\""
- + ContentModel.ASSOC_CHILDREN.toPrefixString(dataModel.getNamespaceDAO()) + "\""), null),
- "*[count(//doc)=5]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYPARENT + ":\"" + testNodeRef + "\""), null),
- "*[count(//doc)=2]");
-
- // TYPE and ASPECT is covered in other tests
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_FTSSTATUS + ":\"New\""), null),
- "*[count(//doc)=2]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":1"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":2"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":3"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":4"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":5"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":6"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":7"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":8"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":9"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":10"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":11"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":12"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":13"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":14"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":15"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":16"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":17"), null),
- "*[count(//doc)=0]");
-
- // testQueryByHandler(report, core, "/afts", AbstractLuceneQueryParser.FIELD_DBID+":*", 16, null, null, (String)
- // null);
- // testQueryByHandler(report, core, "/afts", AbstractLuceneQueryParser.FIELD_DBID+":[3 TO 4]", 2, null, null,
- // null);
-
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_TXID + ":1"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_INTXID + ":1"), null),
- "*[count(//doc)=17]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ACLTXID + ":1"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_INACLTXID + ":1"), null),
- "*[count(//doc)=2]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_INACLTXID + ":2"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ACLID + ":1"), null),
- "*[count(//doc)=17]");
-
-
- //TODO fix tests
- /*
- assertQ(areq(params("rows", "20", "qt", "/native", "q", FIELD_TXCOMMITTIME + ":*"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_READER + ":\"GROUP_EVERYONE\""), null),
- "*[count(//doc)=16]");
-
- testQueryByHandler(report, core, "/native", FIELD_TXCOMMITTIME + ":*", 1, null, null, null, null,
- null, (String) null);
-
- testQueryByHandler(report, core, "/native", FIELD_ACLTXCOMMITTIME + ":*", 1, null, null, null,
- null, null, (String) null);
- */
-
- /*
-
- // AbstractLuceneQueryParser.FIELD_EXCEPTION_MESSAGE
- // addNonDictionaryField(AbstractLuceneQueryParser.FIELD_EXCEPTION_STACK
-
-
- testQueryByHandler(report, core, "/afts", FIELD_READER + ":\"GROUP_EVERYONE\"", 16, null, null,
- null, null, null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":andy", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":bob", 1, null, null, null, null, null,
- (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":cid", 1, null, null, null, null, null,
- (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":dave", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":eoin", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":fred", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":gail", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":hal", 1, null, null, null, null, null,
- (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":ian", 1, null, null, null, null, null,
- (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":jake", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":kara", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":loon", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":mike", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":noodle", 1, null, null, null, null,
- null, (String) null);
- testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":ood", 1, null, null, null, null, null,
- (String) null);
-
- testQueryByHandler(report, core, "/afts", FIELD_PARENT_ASSOC_CRC + ":0", 16, null, null, null,
- null, null, (String) null);
-
- */
-
- /********************TEST FTS **************************/
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-lazy and -dog"), null),
- "*[count(//doc)=15]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|lazy and |dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|eager and |dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|lazy and |wolf"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|eager and |wolf"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-lazy or -dog"), null),
- "*[count(//doc)=15]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-eager or -dog"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-lazy or -wolf"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-eager or -wolf"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and not dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy not dog"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and !dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy !dog"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and -dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy -dog"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm_content:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "d:content:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "=cm_content:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "~cm_content:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:big OR cm:content:lazy"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:big AND cm:content:lazy"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "{http://www.alfresco.org/model/content/1.0}content:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "=lazy"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:big OR @cm:content:lazy"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:big AND @cm:content:lazy"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@{http://www.alfresco.org/model/content/1.0}content:\"lazy\""), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "~@cm:content:big OR ~@cm:content:lazy"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown * quick"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown * dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(0) dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(1) dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(2) dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(3) dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(4) dog"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(5) dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(6) dog"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(\"lazy\")"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and dog)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy and -dog)"), null),
- "*[count(//doc)=15]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy and dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and -dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|lazy and |dog)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|eager and |dog)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|lazy and |wolf)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|eager and |wolf)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy or -dog)"), null),
- "*[count(//doc)=15]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-eager or -dog)"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy or -wolf)"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-eager or -wolf)"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy dog)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and not dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q","TEXT:(lazy not dog)"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and !dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy !dog)"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and -dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy -dog)"), null),
- "*[count(//doc)=16]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm_content:(\"lazy\")"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:(big OR lazy)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:(big AND lazy)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "{http://www.alfresco.org/model/content/1.0}content:(\"lazy\")"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(=lazy)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:(big) OR @cm:content:(lazy)"), null),
- "*[count(//doc)=1]");
-
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:(big) AND @cm:content:(lazy)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@{http://www.alfresco.org/model/content/1.0}content:(\"lazy\")"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:(~big OR ~lazy)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown * quick)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown * dog)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(0) dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(1) dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(2) dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(3) dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(4) dog)"), null),
- "*[count(//doc)=0]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(5) dog)"), null),
- "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(6) dog)"), null),
- "*[count(//doc)=1]");
-
- //Mimetype
- assertAQueryHasNumberOfDocs("cm:content.mimetype:\"text/plain\"", 1);
- assertAQueryHasNumberOfDocs("cm_content.mimetype:\"text/plain\"", 1);
- assertAQueryHasNumberOfDocs("@cm_content.mimetype:\"text/plain\"", 1);
- assertAQueryHasNumberOfDocs("content.mimetype:\"text/plain\"", 1);
- assertAQueryHasNumberOfDocs("@{http://www.alfresco.org/model/content/1.0}content.mimetype:\"text/plain\"", 1);
- assertAQueryHasNumberOfDocs("{http://www.alfresco.org/model/content/1.0}content.mimetype:\"text/plain\"", 1);
-
- //Numbers
- QName qname = QName.createQName(TEST_NAMESPACE, "float\\-ista");
-
- assertAQueryHasNumberOfDocs(qname + ":3.40", 1);
- assertAQueryHasNumberOfDocs(qname + ":3..4", 1);
- assertAQueryHasNumberOfDocs(qname + ":3..3.39", 0);;
- assertAQueryHasNumberOfDocs(qname + ":3..3.40", 1);
- assertAQueryHasNumberOfDocs(qname + ":3.41..3.9", 0);;
- assertAQueryHasNumberOfDocs(qname + ":3.40..3.9", 1);
-
- assertAQueryHasNumberOfDocs(qname + ":[3 TO 4]", 1);
- assertAQueryHasNumberOfDocs(qname + ":[3 TO 3.39]", 0);;
- assertAQueryHasNumberOfDocs(qname + ":[3 TO 3.4]", 1);
- assertAQueryHasNumberOfDocs(qname + ":[3.41 TO 4]", 0);;
- assertAQueryHasNumberOfDocs(qname + ":[3.4 TO 4]", 1);
- assertAQueryHasNumberOfDocs(qname + ":[3 TO 3.4>", 0);;
- assertAQueryHasNumberOfDocs(qname + ":<3.4 TO 4]", 0);;
- assertAQueryHasNumberOfDocs(qname + ":<3.4 TO 3.4>", 0);;
-
- assertAQueryHasNumberOfDocs(qname + ":(3.40)", 1);
- assertAQueryHasNumberOfDocs(qname + ":(3..4)", 1);
- assertAQueryHasNumberOfDocs(qname + ":(3..3.39)", 0);;
- assertAQueryHasNumberOfDocs(qname + ":(3..3.40)", 1);
- assertAQueryHasNumberOfDocs(qname + ":(3.41..3.9)", 0);;
- assertAQueryHasNumberOfDocs(qname + ":(3.40..3.9)", 1);
-
- assertAQueryHasNumberOfDocs(qname + ":([3 TO 4])", 1);
- assertAQueryHasNumberOfDocs(qname + ":([3 TO 3.39])", 0);;
- assertAQueryHasNumberOfDocs(qname + ":([3 TO 3.4])", 1);
- assertAQueryHasNumberOfDocs(qname + ":([3.41 TO 4])", 0);;
- assertAQueryHasNumberOfDocs(qname + ":([3.4 TO 4])", 1);
- assertAQueryHasNumberOfDocs(qname + ":([3 TO 3.4>)", 0);;
- assertAQueryHasNumberOfDocs(qname + ":(<3.4 TO 4])", 0);;
- assertAQueryHasNumberOfDocs(qname + ":(<3.4 TO 3.4>)", 0);;
-
- assertAQueryHasNumberOfDocs("test:float_x002D_ista:3.40", 1);
-
- //Test Lazy
- assertAQueryHasNumberOfDocs("lazy", 1);
- assertAQueryHasNumberOfDocs("laz*", 1);
- assertAQueryHasNumberOfDocs("l*y", 1);
- assertAQueryHasNumberOfDocs("l??y", 1);
- assertAQueryHasNumberOfDocs("?az?", 1);
- assertAQueryHasNumberOfDocs("*zy", 1);
-
- assertAQueryHasNumberOfDocs("\"lazy\"", 1);
- assertAQueryHasNumberOfDocs("\"laz*\"", 1);
- assertAQueryHasNumberOfDocs("\"l*y\"", 1);
- assertAQueryHasNumberOfDocs("\"l??y\"", 1);
- assertAQueryHasNumberOfDocs("\"?az?\"", 1);
- assertAQueryHasNumberOfDocs("\"*zy\"", 1);
-
- assertAQueryHasNumberOfDocs("cm:content:lazy", 1);
- assertAQueryHasNumberOfDocs("cm:content:laz*", 1);
- assertAQueryHasNumberOfDocs("cm:content:l*y", 1);
- assertAQueryHasNumberOfDocs("cm:content:l??y", 1);
- assertAQueryHasNumberOfDocs("cm:content:?az?", 1);
- assertAQueryHasNumberOfDocs("cm:content:*zy", 1);
-
- assertAQueryHasNumberOfDocs("cm:content:\"lazy\"", 1);
- assertAQueryHasNumberOfDocs("cm:content:\"laz*\"", 1);
- assertAQueryHasNumberOfDocs("cm:content:\"l*y\"", 1);
- assertAQueryHasNumberOfDocs("cm:content:\"l??y\"", 1);
- assertAQueryHasNumberOfDocs("cm:content:\"?az?\"", 1);
- assertAQueryHasNumberOfDocs("cm:content:\"*zy\"", 1);
-
- assertAQueryHasNumberOfDocs("cm:content:(lazy)", 1);
- assertAQueryHasNumberOfDocs("cm:content:(laz*)", 1);
- assertAQueryHasNumberOfDocs("cm:content:(l*y)", 1);
- assertAQueryHasNumberOfDocs("cm:content:(l??y)", 1);
- assertAQueryHasNumberOfDocs("cm:content:(?az?)", 1);
- assertAQueryHasNumberOfDocs("cm:content:(*zy)", 1);
-
- assertAQueryHasNumberOfDocs("cm:content:(\"lazy\")", 1);
- assertAQueryHasNumberOfDocs("cm:content:(\"laz*\")", 1);
- assertAQueryHasNumberOfDocs("cm:content:(\"l*y\")", 1);
- assertAQueryHasNumberOfDocs("cm:content:(\"l??y\")", 1);
- assertAQueryHasNumberOfDocs("cm:content:(\"?az?\")", 1);
- assertAQueryHasNumberOfDocs("cm:content:(\"*zy\")", 1);
-
- assertAQueryHasNumberOfDocs("lazy^2 dog^4.2", 1);
- assertAQueryHasNumberOfDocs("lazy~0.7", 1);
- assertAQueryHasNumberOfDocs("cm:content:laxy~0.7", 1);
- assertAQueryHasNumberOfDocs("laxy~0.7", 1);
- assertAQueryHasNumberOfDocs("=laxy~0.7", 1);
- assertAQueryHasNumberOfDocs("~laxy~0.7", 1);
-
- assertAQueryHasNumberOfDocs("\"quick fox\"~0", 0);
- assertAQueryHasNumberOfDocs("\"quick fox\"~1", 1);
- assertAQueryHasNumberOfDocs("\"quick fox\"~2", 1);
- assertAQueryHasNumberOfDocs("\"quick fox\"~3", 1);
-
- assertAQueryHasNumberOfDocs("\"fox quick\"~0", 0);
- assertAQueryHasNumberOfDocs("\"fox quick\"~1", 0);
- assertAQueryHasNumberOfDocs("\"fox quick\"~2", 1);
- assertAQueryHasNumberOfDocs("\"fox quick\"~3", 1);
-
- assertAQueryHasNumberOfDocs("lazy", 1);
- assertAQueryHasNumberOfDocs("-lazy", 15);
- assertAQueryHasNumberOfDocs("lazy -lazy", 16);
- assertAQueryHasNumberOfDocs("lazy^20 -lazy", 16);
- assertAQueryHasNumberOfDocs("lazy^20 -lazy^20", 16);
-
- assertAQueryHasNumberOfDocs("cm:content:lazy",1);
-// assertAQueryHasNumberOfDocs("ANDY:lazy", 1);
- assertAQueryHasNumberOfDocs("content:lazy", 1);
- assertAQueryHasNumberOfDocs("PATH:\"//.\"", 16);
- assertAQueryHasNumberOfDocs("+PATH:\"/app:company_home/st:sites/cm:rmtestnew1/cm:documentLibrary//*\"", 0);
- assertAQueryHasNumberOfDocs("+PATH:\"/app:company_home/st:sites/cm:rmtestnew1/cm:documentLibrary//*\" -TYPE:\"{http://www.alfresco.org/model/content/1.0}thumbnail\"", 15);
- assertAQueryHasNumberOfDocs("+PATH:\"/app:company_home/st:sites/cm:rmtestnew1/cm:documentLibrary//*\" AND -TYPE:\"{http://www.alfresco.org/model/content/1.0}thumbnail\"", 0);
-
- assertAQueryHasNumberOfDocs("(brown *(6) dog)", 1);
- assertAQueryHasNumberOfDocs("TEXT:(brown *(6) dog)", 1);
- assertAQueryHasNumberOfDocs("\"//.\"", 0);
- assertAQueryHasNumberOfDocs("cm:content:brown", 1);
-
- //assertAQueryHasNumberOfDocs("ANDY:brown", 1);
- //assertAQueryHasNumberOfDocs("andy:brown", 1);
- // testQueryByHandler(report, core, "/afts", "ANDY", "brown", 1, null, (String) null);
- // testQueryByHandler(report, core, "/afts", "andy", "brown", 1, null, (String) null);
-
- assertAQueryHasNumberOfDocs("modified:*", 2);
- assertAQueryHasNumberOfDocs("modified:[MIN TO NOW]", 2);
-
- assertAQueryHasNumberOfDocs("TYPE:" + testType.toString(), 1);
-// testQueryByHandler(report, core, "/afts", "TYPE:" + testType.toString(), 0, null, null, null, null, null, (ContentStream)null, "mimetype():document");
- assertAQueryHasNumberOfDocs("TYPE:" + ContentModel.TYPE_CONTENT.toString(), 1);
-// testQueryByHandler(report, core, "/afts", "TYPE:" + ContentModel.TYPE_CONTENT.toString(), 1, null, null, null, null, null, (ContentStream)null, "mimetype():document");
-// testQueryByHandler(report, core, "/afts", "TYPE:" + ContentModel.TYPE_CONTENT.toString(), 0, null, null, null, null, null, (ContentStream)null, "contentSize():[0 TO 100]");
-// testQueryByHandler(report, core, "/afts", "TYPE:" + ContentModel.TYPE_CONTENT.toString(), 1, null, null, null, null, null, (ContentStream)null, "contentSize():[100 TO 1000]");
-
- assertAQueryHasNumberOfDocs("modified:[NOW/DAY-1DAY TO NOW/DAY+1DAY]", 2);
- assertAQueryHasNumberOfDocs("modified:[NOW/DAY-1DAY TO *]", 2);
- assertAQueryHasNumberOfDocs("modified:[* TO NOW/DAY+1DAY]", 2);
- assertAQueryHasNumberOfDocs("modified:[* TO *]", 2);
-
- // Synonym
- // 1 in text - 1 in query
- assertAQueryHasNumberOfDocs("quick", 1);
- assertAQueryHasNumberOfDocs("quick", 1);
- // 3 words in test - 1..3 in query
- assertAQueryHasNumberOfDocs("brown AND fox AND jumped", 1);
-//Not working
-// assertAQueryHasNumberOfDocs("leaping AND reynard", 1);
-// assertAQueryHasNumberOfDocs("springer", 1);
- // 1 word in text 1..2 in query
- assertAQueryHasNumberOfDocs("lazy", 1);
-// assertAQueryHasNumberOfDocs("bone AND idle", 1);
-
- // Cross language support and tokenisation part and full.
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English123", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French123", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:123", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English123", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French123", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:123", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
-
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English123", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French123", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:123", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
-
- /*
- testQueryByHandler(report, core, "/afts", "PATH:\"//.\"", 16, "DBID desc", new Integer[] { 16, 15, 14, 13, 12, 11,
- 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }, null, null, null, (String) null);
-
- // testQueryByHandler(report, core, "/afts", "PATH", "\"//.\"", 16, null, (String) null);
- */
-
- //Auth code goes here
- }
-
- private void assertAQueryHasNumberOfDocs(String query, int num)
- {
- assertQ(areq(params("rows", "20", "qt", "/afts", "q", query), null), "*[count(//doc)="+num+"]");
- }
-
-
-}
\ No newline at end of file
+///*
+// * Copyright (C) 2005-2014 Alfresco Software Limited.
+// *
+// * This file is part of Alfresco
+// *
+// * Alfresco is free software: you can redistribute it and/or modify
+// * it under the terms of the GNU Lesser General Public License as published by
+// * the Free Software Foundation, either version 3 of the License, or
+// * (at your option) any later version.
+// *
+// * Alfresco 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 Lesser General Public License for more details.
+// *
+// * You should have received a copy of the GNU Lesser General Public License
+// * along with Alfresco. If not, see .
+// */
+//
+//package org.alfresco.solr.query;
+//
+//import org.alfresco.model.ContentModel;
+//import org.alfresco.service.namespace.QName;
+//import org.alfresco.solr.AlfrescoSolrDataModel;
+//import org.alfresco.solr.AlfrescoSolrTestCaseJ4;
+//import org.alfresco.solr.SolrInformationServer;
+//import org.alfresco.util.SearchLanguageConversion;
+//import org.apache.lucene.util.LuceneTestCase;
+//import org.alfresco.repo.search.adaptor.lucene.QueryConstants;
+//import org.apache.solr.SolrTestCaseJ4;
+//import org.junit.Before;
+//import org.junit.BeforeClass;
+//import org.junit.Test;
+//
+//import java.util.Locale;
+//
+//
+//@LuceneTestCase.SuppressCodecs({"Appending","Lucene3x","Lucene40","Lucene41","Lucene42","Lucene43", "Lucene44", "Lucene45","Lucene46","Lucene47","Lucene48","Lucene49"})
+//@SolrTestCaseJ4.SuppressSSL
+//public class AlfrescoFTSQParserPluginTest extends AlfrescoSolrTestCaseJ4 implements QueryConstants {
+//
+// @BeforeClass
+// public static void beforeClass() throws Exception {
+// initAlfrescoCore("solrconfig-afts.xml", "schema-afts.xml");
+// Thread.sleep(30000);
+// loadTestSet();
+// }
+//
+// @Override
+// @Before
+// public void setUp() throws Exception {
+// // if you override setUp or tearDown, you better callf
+// // the super classes version
+// super.setUp();
+// //clearIndex();
+// //assertU(commit());
+// }
+//
+// /*
+// @Test
+// public void testAftsQueries() throws Exception {
+//
+// //assertU(delQ("*:*"));
+// //assertU(commit());
+//
+// String[] doc = {"id", "1", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
+// assertU(adoc(doc));
+// assertU(commit());
+// String[] doc1 = {"id", "2", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
+// assertU(adoc(doc1));
+//
+// String[] doc2 = {"id", "3", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
+// assertU(adoc(doc2));
+// assertU(commit());
+// String[] doc3 = {"id", "4", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
+// assertU(adoc(doc3));
+//
+// String[] doc4 = {"id", "5", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
+// assertU(adoc(doc4));
+// assertU(commit());
+//
+// String[] doc5 = {"id", "6", "content@s___t@{http://www.alfresco.org/model/content/1.0}content", "YYYY"};
+// assertU(adoc(doc5));
+// assertU(commit());
+//
+//
+// ModifiableSolrParams params = new ModifiableSolrParams();
+// params.add("q", "t1:YYYY");
+// params.add("qt", "/afts");
+// params.add("start", "0");
+// params.add("rows", "6");
+// SolrServletRequest req = areq(params, "{\"locales\":[\"en\"], \"templates\": [{\"name\":\"t1\", \"template\":\"%cm:content\"}]}");
+// assertQ(req, "*[count(//doc)=6]");
+//
+// }
+//*/
+// @Test
+// public void dataChecks() throws Exception {
+// /******** Check the root node **********/
+// assertAQuery("PATH:\"/\"", 1);
+// assertAQuery("PATH:\"/.\"", 1);
+//
+// /******* Check paths ********************/
+// assertAQuery("PATH:\"/cm:one\"", 1);
+// assertAQuery("PATH:\"/cm:two\"", 1);
+// assertAQuery("PATH:\"/cm:three\"", 1);
+// assertAQuery("PATH:\"/cm:four\"", 1);
+// assertAQuery("PATH:\"/cm:eight-0\"", 1);
+// assertAQuery("PATH:\"/cm:five\"", 0);
+// assertAQuery("PATH:\"/cm:one/cm:one\"", 0);
+// assertAQuery("PATH:\"/cm:one/cm:two\"", 0);
+// assertAQuery("PATH:\"/cm:two/cm:one\"", 0);
+// assertAQuery("PATH:\"/cm:two/cm:two\"", 0);
+// assertAQuery("PATH:\"/cm:one/cm:five\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:six\"", 1);
+// assertAQuery("PATH:\"/cm:two/cm:seven\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:eight-1\"", 1);
+// assertAQuery("PATH:\"/cm:two/cm:eight-2\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:eight-2\"", 0);
+// assertAQuery("PATH:\"/cm:two/cm:eight-1\"", 0);
+// assertAQuery("PATH:\"/cm:two/cm:eight-0\"", 0);
+// assertAQuery("PATH:\"/cm:one/cm:eight-0\"", 0);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:nine\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:ten\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:eleven\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve/cm:thirteen\"", 1);
+// assertAQuery(
+// "PATH:\"/cm:one/cm:five/cm:twelve/cm:thirteen/cm:fourteen\"", 1);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve/cm:thirteen/cm:common\"",
+// 1);
+// assertAQuery("PATH:\"/cm:one/cm:five/cm:twelve/cm:common\"", 1);
+// assertAQuery("PATH:\"/cm:*\"", 5);
+// assertAQuery("PATH:\"/cm:*/cm:*\"", 6);
+// assertAQuery("PATH:\"/cm:*/cm:five\"", 1);
+// assertAQuery("PATH:\"/cm:*/cm:*/cm:*\"", 6);
+// assertAQuery("PATH:\"/cm:one/cm:*\"", 4);
+// assertAQuery("PATH:\"/cm:*/cm:five/cm:*\"", 5);
+// assertAQuery("PATH:\"/cm:one/cm:*/cm:nine\"", 1);
+// assertAQuery("PATH:\"/*\"", 5);
+// assertAQuery("PATH:\"/*/*\"", 6);
+// assertAQuery("PATH:\"/*/cm:five\"", 1);
+// assertAQuery("PATH:\"/*/*/*\"", 6);
+// assertAQuery("PATH:\"/cm:one/*\"", 4);
+// assertAQuery("PATH:\"/*/cm:five/*\"", 5);
+// assertAQuery("PATH:\"/cm:one/*/cm:nine\"", 1);
+// assertAQuery("PATH:\"//.\"", 16);
+// assertAQuery("PATH:\"//*\"", 15);
+// assertAQuery("PATH:\"//*/.\"", 15);
+// assertAQuery("PATH:\"//*/./.\"", 15);
+// assertAQuery("PATH:\"//./*\"", 15);
+// assertAQuery("PATH:\"//././*/././.\"", 15);
+// assertAQuery("PATH:\"//cm:common\"", 1);
+// assertAQuery("PATH:\"/one//common\"", 1);
+// assertAQuery("PATH:\"/one/five//*\"", 7);
+// assertAQuery("PATH:\"/one/five//.\"", 8);
+// assertAQuery("PATH:\"/one//five/nine\"", 1);
+// assertAQuery("PATH:\"/one//thirteen/fourteen\"", 1);
+// assertAQuery("PATH:\"/one//thirteen/fourteen/.\"", 1);
+// assertAQuery("PATH:\"/one//thirteen/fourteen//.\"", 1);
+// assertAQuery("PATH:\"/one//thirteen/fourteen//.//.\"", 1);
+//
+// assertAQuery("PATH:\"/one\"", 1);
+// assertAQuery("PATH:\"/two\"", 1);
+// assertAQuery("PATH:\"/three\"", 1);
+// assertAQuery("PATH:\"/four\"", 1);
+//
+// /******** Check qNames ***************/
+// assertAQuery("QNAME:\"nine\"", 1);
+// assertAQuery("PRIMARYASSOCTYPEQNAME:\"cm:contains\"", 11);
+// assertAQuery("PRIMARYASSOCTYPEQNAME:\"sys:children\"", 4);
+// assertAQuery("ASSOCTYPEQNAME:\"cm:contains\"", 11);
+// assertAQuery("ASSOCTYPEQNAME:\"sys:children\"", 5);
+//
+// /******** check type ****************/
+// assertAQuery("TYPE:\"" + testType.toString() + "\"", 1);
+// assertAQuery("TYPE:\"" + testType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
+// assertAQuery("EXACTTYPE:\"" + testType.toString() + "\"", 1);
+// assertAQuery("EXACTTYPE:\"" + testType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
+// assertAQuery("TYPE:\"" + testSuperType.toString() + "\"", 13);
+// assertAQuery("TYPE:\"" + testSuperType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 13);
+// assertAQuery("TYPE:\"" + ContentModel.TYPE_CONTENT.toString() + "\"", 1);
+// assertAQuery("TYPE:\"cm:content\"", 1);
+// assertAQuery("TYPE:\"cm:content0\"", 0);
+// assertAQuery("TYPE:\"cm:CONTENT\"", 1);
+// assertAQuery("TYPE:\"cm:CONTENT1\"", 0);
+// assertAQuery("TYPE:\"CM:CONTENT\"", 1);
+// assertAQuery("TYPE:\"CM:CONTENT1\"", 0);
+// assertAQuery("TYPE:\"CONTENT\"", 1);
+// assertAQuery("TYPE:\"CONTENT1\"", 0);
+// assertAQuery("TYPE:\"content\"", 1);
+// assertAQuery("TYPE:\"content0\"", 0);
+// assertAQuery("ASPECT:\"flubber\"", 0);
+// assertAQuery("TYPE:\"" + ContentModel.TYPE_THUMBNAIL.toString() + "\"",
+// 1);
+// assertAQuery("TYPE:\"" + ContentModel.TYPE_THUMBNAIL.toString()
+// + "\" TYPE:\"" + ContentModel.TYPE_CONTENT.toString() + "\"", 2);
+// assertAQuery("EXACTTYPE:\"" + testSuperType.toString() + "\"", 12);
+// assertAQuery("EXACTTYPE:\"" + testSuperType.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 12);
+// assertAQuery("ASPECT:\"" + testAspect.toString() + "\"", 1);
+// assertAQuery("ASPECT:\"" + testAspect.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
+// assertAQuery("EXACTASPECT:\"" + testAspect.toString() + "\"", 1);
+// assertAQuery("EXACTASPECT:\"" + testAspect.toPrefixString(dataModel.getNamespaceDAO()) + "\"", 1);
+//
+//
+// /*********** Check data type **********/
+// assertAQuery("d\\:double:\"5.6\"", 1);
+// assertAQuery("d\\:content:\"fox\"", 1);
+// assertAQuery("d\\:content:\"fox\"", 1, Locale.US, null, null);
+//
+//
+// /*********** Check text **************/
+// assertAQuery("TEXT:fox AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", 1);
+// assertAQuery("TEXT:fox @cm\\:name:fox", 1);
+// assertAQuery("d\\:content:fox d\\:text:fox", 1);
+// assertAQuery("TEXT:fo AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", 0);
+//
+// assertAQuery("TEXT:\"the\"", 1);
+// assertAQuery("TEXT:\"and\"", 1);
+//
+// //TODO fix this assert
+// //assertAQuery("TEXT:\"over the lazy\"", 1);
+// // Depends on stop words being removed .... which depends on the configuration
+// //assertAQuery("TEXT:\"over a lazy\"", 1);
+//
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":*a*", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":*A*", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":\"*a*\"", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":\"*A*\"", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":*s*", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":*S*", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":\"*s*\"", 1);
+// assertAQuery("\\@"
+// + SearchLanguageConversion.escapeLuceneQuery(QName.createQName(TEST_NAMESPACE,
+// "text-indexed-stored-tokenised-atomic").toString()) + ":\"*S*\"", 1);
+// assertAQuery("TEXT:*A*", 1);
+// assertAQuery("TEXT:\"*a*\"", 1);
+// assertAQuery("TEXT:\"*A*\"", 1);
+// assertAQuery("TEXT:*a*", 1);
+// assertAQuery("TEXT:*Z*", 1);
+// assertAQuery("TEXT:\"*z*\"", 1);
+// assertAQuery("TEXT:\"*Z*\"", 1);
+// assertAQuery("TEXT:*z*", 1);
+// assertAQuery("TEXT:laz*", 1);
+// assertAQuery("TEXT:laz~", 1);
+// assertAQuery("TEXT:la?y", 1);
+// assertAQuery("TEXT:?a?y", 1);
+// assertAQuery("TEXT:*azy", 1);
+// assertAQuery("TEXT:*az*", 1);
+//
+// // Accents
+//
+// assertAQuery("TEXT:\"\u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF\"", 1);
+// assertAQuery("TEXT:\"aeidnouy\"", 1);
+//
+// /**************** Check text *********************/
+//
+// assertAQuery("TEXT:\"fox\"", 1);
+// assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
+// + ":\"fox\"", 1);
+// assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
+// + ".mimetype:\"text/plain\"", 1);
+// assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
+// + ".locale:\"en_GB\"", 1);
+// assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
+// + ".locale:en_*", 1);
+// assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
+// + ".locale:e*_GB", 1);
+// assertAQuery("@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString())
+// + ".size:\"298\"", 1);
+//
+// //TODO Fix these tests
+//
+// assertAQuery("TEXT:\"fox\"", 0, null, new String[] { "@"
+// + ContentModel.PROP_NAME.toString() }, null);
+// assertAQuery("TEXT:\"fox\"", 1, null, new String[] {
+// "@" + ContentModel.PROP_NAME.toString(), "@" + ContentModel.PROP_CONTENT.toString() }, null);
+// assertAQuery("TEXT:\"cabbage\"", 15, null, new String[] { "@"
+// + orderText.toString() }, null);
+// assertAQuery("TEXT:\"cab*\"", 15, null,
+// new String[] { "@" + orderText.toString() }, null);
+// assertAQuery("TEXT:\"*bage\"", 15, null,
+// new String[] { "@" + orderText.toString() }, null);
+// assertAQuery("TEXT:\"*ba*\"", 15, null,
+// new String[] { "@" + orderText.toString() }, null);
+// assertAQuery("TEXT:cabbage", 15, null,
+// new String[] { "@" + orderText.toString() }, null);
+// assertAQuery("TEXT:*cab*", 15, Locale.ENGLISH, new String[] { "@"
+// + orderText.toString() }, null);
+// assertAQuery("TEXT:*bage", 15, null,
+// new String[] { "@" + orderText.toString() }, null);
+//
+//// assertAQuery("TEXT:dabbage~0.3", 15, null, new String[] { "@"
+//// + orderText.toString() }, null);
+//
+// assertAQuery("TEXT:\"alfresco\"", 1);
+// assertAQuery("TEXT:\"alfresc?\"", 1);
+// assertAQuery("TEXT:\"alfres??\"", 1);
+// assertAQuery("TEXT:\"alfre???\"", 1);
+// assertAQuery("TEXT:\"alfr????\"", 1);
+// assertAQuery("TEXT:\"alf?????\"", 1);
+// assertAQuery("TEXT:\"al??????\"", 1);
+// assertAQuery("TEXT:\"a???????\"", 1);
+// assertAQuery("TEXT:\"????????\"", 1);
+// assertAQuery("TEXT:\"a??re???\"", 1);
+// assertAQuery("TEXT:\"?lfresco\"", 1);
+// assertAQuery("TEXT:\"??fresco\"", 1);
+// assertAQuery("TEXT:\"???resco\"", 1);
+// assertAQuery("TEXT:\"????esco\"", 1);
+// assertAQuery("TEXT:\"?????sco\"", 1);
+// assertAQuery("TEXT:\"??????co\"", 1);
+// assertAQuery("TEXT:\"???????o\"", 1);
+// assertAQuery("TEXT:\"???res?o\"", 1);
+// assertAQuery("TEXT:\"????e?co\"", 1);
+// assertAQuery("TEXT:\"????e?c?\"", 1);
+// assertAQuery("TEXT:\"???re???\"", 1);
+//
+// assertAQuery("TEXT:\"alfresc*\"", 1);
+// assertAQuery("TEXT:\"alfres*\"", 1);
+// assertAQuery("TEXT:\"alfre*\"", 1);
+// assertAQuery("TEXT:\"alfr*\"", 1);
+// assertAQuery("TEXT:\"alf*\"", 1);
+// assertAQuery("TEXT:\"al*\"", 1);
+// assertAQuery("TEXT:\"a*\"", 1);
+// assertAQuery("TEXT:\"a****\"", 1);
+// assertAQuery("TEXT:\"*lfresco\"", 1);
+// assertAQuery("TEXT:\"*fresco\"", 1);
+// assertAQuery("TEXT:\"*resco\"", 1);
+// assertAQuery("TEXT:\"*esco\"", 1);
+// assertAQuery("TEXT:\"*sco\"", 1);
+// assertAQuery("TEXT:\"*co\"", 1);
+// assertAQuery("TEXT:\"*o\"", 1);
+// assertAQuery("TEXT:\"****lf**sc***\"", 1);
+// // Lucene wildcard bug matches when it should not ....
+// //assertAQuery("TEXT:\"*??*lf**sc***\"", 0);
+// assertAQuery("TEXT:\"??lf**sc***\"", 0);
+// assertAQuery("TEXT:\"alfresc*tutorial\"", 0);
+// assertAQuery("TEXT:\"alf* tut*\"", 1);
+// assertAQuery("TEXT:\"*co *al\"", 1);
+//
+// /********* check mltext ************/
+//
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfresco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfresc?\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfres??\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfre???\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfr????\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alf?????\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"al??????\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"a???????\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"????????\"", 1);
+//
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"a??re???\"", 1);
+//
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"?lfresco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"??fresco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"???resco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"????esco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"?????sco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"??????co\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"???????o\"", 1);
+//
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"???resco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"???res?o\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"????e?co\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"????e?c?\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"???re???\"", 1);
+//
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfresc*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfres*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfre*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alfr*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"alf*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"al*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"a*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"a*****\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*lfresco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*fresco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*resco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*esco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*sco\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*co\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*o\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"****lf**sc***\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*??*lf**sc***\"", 0);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"Alfresc*tutorial\"", 0);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"Alf* tut*\"", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_DESCRIPTION.toString())
+// + ":\"*co *al\"", 1);
+//
+// QName mlQName = QName.createQName(TEST_NAMESPACE, "ml");
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":and", 0);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":\"and\"", 0);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1);
+//
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1, Locale.UK,
+// null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1,
+// Locale.ENGLISH, null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banane", 1,
+// Locale.FRENCH, null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":香蕉", 1,
+// Locale.CHINESE, null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banaan", 1,
+// new Locale("nl"), null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banane", 1,
+// Locale.GERMAN, null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":μπανάνα", 1,
+// new Locale("el"), null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1,
+// Locale.ITALIAN, null, null);
+//
+// //TODO fix test
+// /*
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":�?ナナ", 1, new Locale(
+// "ja"), null, null);
+// */
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":바나나", 1, new Locale(
+// "ko"), null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":banana", 1,
+// new Locale("pt"), null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":банан", 1, new Locale(
+// "ru"), null, null);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(mlQName.toString()) + ":plátano", 1,
+// new Locale("es"), null, null);
+//
+// /*********** Check ranges **************/
+//
+// assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[a TO b]", 1);
+// assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[a TO \uFFFF]", 14);
+// assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[* TO b]", 2);
+// assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[\u0000 TO b]", 2);
+// assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[d TO \uFFFF]", 12);
+// assertAQuery("\\@" + SearchLanguageConversion.escapeLuceneQuery(orderText.toString()) + ":[d TO *]", 12);
+//
+// /*********** Check non-field ************/
+//
+// assertAQuery("TEXT:fox", 1);
+// assertAQuery("TEXT:fo*", 1);
+// assertAQuery("TEXT:f*x", 1);
+// assertAQuery("TEXT:*ox", 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":fox",
+// 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":fo*",
+// 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":f*x",
+// 1);
+// assertAQuery(
+// "@" + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT.toString()) + ":*ox",
+// 1);
+// assertAQuery(
+// "@"
+// + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
+// .toPrefixString(dataModel.getNamespaceDAO())) + ":fox", 1);
+// assertAQuery(
+// "@"
+// + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
+// .toPrefixString(dataModel.getNamespaceDAO())) + ":fo*", 1);
+// assertAQuery(
+// "@"
+// + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
+// .toPrefixString(dataModel.getNamespaceDAO())) + ":f*x", 1);
+// assertAQuery(
+// "@"
+// + SearchLanguageConversion.escapeLuceneQuery(ContentModel.PROP_CONTENT
+// .toPrefixString(dataModel.getNamespaceDAO())) + ":*ox", 1);
+//
+// /************** Check null and unset *************/
+//
+// assertAQuery("ISUNSET:\""
+// + QName.createQName(TEST_NAMESPACE, "null").toString() + "\"", 0);
+// assertAQuery("ISNULL:\"" + QName.createQName(TEST_NAMESPACE,
+// "null").toString() + "\"", 1);
+// assertAQuery("EXISTS:\"" + QName.createQName(TEST_NAMESPACE,
+// "null").toString() + "\"", 1);
+// assertAQuery("ISNOTNULL:\""
+// + QName.createQName(TEST_NAMESPACE, "null").toString() + "\"", 0);
+//
+// assertAQuery("ISUNSET:\"" + QName.createQName(TEST_NAMESPACE, "path-ista").toString() + "\"", 0);
+// assertAQuery("ISNULL:\"" + QName.createQName(TEST_NAMESPACE,
+// "path-ista").toString() + "\"", 0);
+// assertAQuery("ISNOTNULL:\"" + QName.createQName(TEST_NAMESPACE, "path-ista").toString() + "\"", 1);
+// assertAQuery("EXISTS:\"" + QName.createQName(TEST_NAMESPACE, "path-ista").toString() + "\"", 1);
+//
+// assertAQuery("ISUNSET:\"" + QName.createQName(TEST_NAMESPACE, "aspectProperty").toString() + "\"", 0);
+// assertAQuery("ISNULL:\"" + QName.createQName(TEST_NAMESPACE,
+// "aspectProperty").toString() + "\"", 0);
+// assertAQuery("ISNOTNULL:\"" + QName.createQName(TEST_NAMESPACE, "aspectProperty").toString() + "\"", 1);
+// assertAQuery("EXISTS:\"" + QName.createQName(TEST_NAMESPACE, "aspectProperty").toString() + "\"", 1);
+//
+//
+// /***** Check internal fields ******/
+//
+// final Long aclId = new Long(1);
+//
+// for (int i = 1; i < 16; i++)
+// {
+// Long dbId = new Long(i);
+// String id = SearchLanguageConversion.escapeLuceneQuery(AlfrescoSolrDataModel.getNodeDocumentId(AlfrescoSolrDataModel.DEFAULT_TENANT, aclId, dbId));
+// assertQ(areq(params("q", FIELD_SOLR4_ID + ":" + id, "qt", "/afts"), null),
+// "*[count(//doc)=1]");
+// }
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_NODE), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_ACL), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_ACL_TX), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", SearchLanguageConversion.escapeLuceneQuery(FIELD_DOC_TYPE) + ":" + SolrInformationServer.DOC_TYPE_TX), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PARENT + ":\"" + testNodeRef + "\""), null),
+// "*[count(//doc)=4]");
+//
+// // AbstractLuceneQueryParser.FIELD_LINKASPECT is not used for SOLR
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ANCESTOR + ":\"" + testNodeRef + "\""), null),
+// "*[count(//doc)=10]");
+//
+// // AbstractLuceneQueryParser.FIELD_ISCONTAINER is not used for SOLR
+// // AbstractLuceneQueryParser.FIELD_ISCATEGORY is not used for SOLR
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:one\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:two\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:three\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:four\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:five\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:six\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:seven\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eight-0\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eight-1\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eight-2\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:nine\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:ten\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:eleven\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:twelve\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:thirteen\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:fourteen\""), null),
+// "*[count(//doc)=2]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:fifteen\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:common\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_QNAME + ":\"cm:link\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:one\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:two\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:three\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:four\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:five\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:six\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:seven\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eight-0\""), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eight-1\""), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eight-2\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:nine\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:ten\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:eleven\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:twelve\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:thirteen\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:fourteen\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:fifteen\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:common\""), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCQNAME + ":\"cm:link\""), null),
+// "*[count(//doc)=0]");
+//
+// // AbstractLuceneQueryParser.FIELD_ISROOT is not used in SOLR
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYASSOCTYPEQNAME + ":\""
+// + ContentModel.ASSOC_CHILDREN.toPrefixString(dataModel.getNamespaceDAO()) + "\""), null),
+// "*[count(//doc)=4]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ISNODE + ":T"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ASSOCTYPEQNAME + ":\""
+// + ContentModel.ASSOC_CHILDREN.toPrefixString(dataModel.getNamespaceDAO()) + "\""), null),
+// "*[count(//doc)=5]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_PRIMARYPARENT + ":\"" + testNodeRef + "\""), null),
+// "*[count(//doc)=2]");
+//
+// // TYPE and ASPECT is covered in other tests
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_FTSSTATUS + ":\"New\""), null),
+// "*[count(//doc)=2]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":1"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":2"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":3"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":4"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":5"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":6"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":7"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":8"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":9"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":10"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":11"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":12"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":13"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":14"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":15"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":16"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_DBID + ":17"), null),
+// "*[count(//doc)=0]");
+//
+// // testQueryByHandler(report, core, "/afts", AbstractLuceneQueryParser.FIELD_DBID+":*", 16, null, null, (String)
+// // null);
+// // testQueryByHandler(report, core, "/afts", AbstractLuceneQueryParser.FIELD_DBID+":[3 TO 4]", 2, null, null,
+// // null);
+//
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_TXID + ":1"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_INTXID + ":1"), null),
+// "*[count(//doc)=17]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ACLTXID + ":1"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_INACLTXID + ":1"), null),
+// "*[count(//doc)=2]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_INACLTXID + ":2"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_ACLID + ":1"), null),
+// "*[count(//doc)=17]");
+//
+//
+// //TODO fix tests
+// /*
+// assertQ(areq(params("rows", "20", "qt", "/native", "q", FIELD_TXCOMMITTIME + ":*"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", FIELD_READER + ":\"GROUP_EVERYONE\""), null),
+// "*[count(//doc)=16]");
+//
+// testQueryByHandler(report, core, "/native", FIELD_TXCOMMITTIME + ":*", 1, null, null, null, null,
+// null, (String) null);
+//
+// testQueryByHandler(report, core, "/native", FIELD_ACLTXCOMMITTIME + ":*", 1, null, null, null,
+// null, null, (String) null);
+// */
+//
+// /*
+//
+// // AbstractLuceneQueryParser.FIELD_EXCEPTION_MESSAGE
+// // addNonDictionaryField(AbstractLuceneQueryParser.FIELD_EXCEPTION_STACK
+//
+//
+// testQueryByHandler(report, core, "/afts", FIELD_READER + ":\"GROUP_EVERYONE\"", 16, null, null,
+// null, null, null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":andy", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":bob", 1, null, null, null, null, null,
+// (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":cid", 1, null, null, null, null, null,
+// (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":dave", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":eoin", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":fred", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":gail", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":hal", 1, null, null, null, null, null,
+// (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":ian", 1, null, null, null, null, null,
+// (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":jake", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":kara", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":loon", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":mike", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":noodle", 1, null, null, null, null,
+// null, (String) null);
+// testQueryByHandler(report, core, "/afts", FIELD_OWNER + ":ood", 1, null, null, null, null, null,
+// (String) null);
+//
+// testQueryByHandler(report, core, "/afts", FIELD_PARENT_ASSOC_CRC + ":0", 16, null, null, null,
+// null, null, (String) null);
+//
+// */
+//
+// /********************TEST FTS **************************/
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-lazy and -dog"), null),
+// "*[count(//doc)=15]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|lazy and |dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|eager and |dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|lazy and |wolf"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "|eager and |wolf"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-lazy or -dog"), null),
+// "*[count(//doc)=15]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-eager or -dog"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-lazy or -wolf"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "-eager or -wolf"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and not dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy not dog"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and !dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy !dog"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy and -dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "lazy -dog"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm_content:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "d:content:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "=cm_content:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "~cm_content:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:big OR cm:content:lazy"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:big AND cm:content:lazy"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "{http://www.alfresco.org/model/content/1.0}content:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "=lazy"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:big OR @cm:content:lazy"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:big AND @cm:content:lazy"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@{http://www.alfresco.org/model/content/1.0}content:\"lazy\""), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "~@cm:content:big OR ~@cm:content:lazy"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown * quick"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown * dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(0) dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(1) dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(2) dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(3) dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(4) dog"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(5) dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "brown *(6) dog"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(\"lazy\")"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and dog)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy and -dog)"), null),
+// "*[count(//doc)=15]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy and dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and -dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|lazy and |dog)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|eager and |dog)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|lazy and |wolf)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(|eager and |wolf)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy or -dog)"), null),
+// "*[count(//doc)=15]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-eager or -dog)"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-lazy or -wolf)"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(-eager or -wolf)"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy dog)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and not dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q","TEXT:(lazy not dog)"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and !dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy !dog)"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy and -dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(lazy -dog)"), null),
+// "*[count(//doc)=16]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm_content:(\"lazy\")"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:(big OR lazy)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "cm:content:(big AND lazy)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "{http://www.alfresco.org/model/content/1.0}content:(\"lazy\")"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(=lazy)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:(big) OR @cm:content:(lazy)"), null),
+// "*[count(//doc)=1]");
+//
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:(big) AND @cm:content:(lazy)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@{http://www.alfresco.org/model/content/1.0}content:(\"lazy\")"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "@cm:content:(~big OR ~lazy)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown * quick)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown * dog)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(0) dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(1) dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(2) dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(3) dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(4) dog)"), null),
+// "*[count(//doc)=0]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(5) dog)"), null),
+// "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "TEXT:(brown *(6) dog)"), null),
+// "*[count(//doc)=1]");
+//
+// //Mimetype
+// assertAQueryHasNumberOfDocs("cm:content.mimetype:\"text/plain\"", 1);
+// assertAQueryHasNumberOfDocs("cm_content.mimetype:\"text/plain\"", 1);
+// assertAQueryHasNumberOfDocs("@cm_content.mimetype:\"text/plain\"", 1);
+// assertAQueryHasNumberOfDocs("content.mimetype:\"text/plain\"", 1);
+// assertAQueryHasNumberOfDocs("@{http://www.alfresco.org/model/content/1.0}content.mimetype:\"text/plain\"", 1);
+// assertAQueryHasNumberOfDocs("{http://www.alfresco.org/model/content/1.0}content.mimetype:\"text/plain\"", 1);
+//
+// //Numbers
+// QName qname = QName.createQName(TEST_NAMESPACE, "float\\-ista");
+//
+// assertAQueryHasNumberOfDocs(qname + ":3.40", 1);
+// assertAQueryHasNumberOfDocs(qname + ":3..4", 1);
+// assertAQueryHasNumberOfDocs(qname + ":3..3.39", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":3..3.40", 1);
+// assertAQueryHasNumberOfDocs(qname + ":3.41..3.9", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":3.40..3.9", 1);
+//
+// assertAQueryHasNumberOfDocs(qname + ":[3 TO 4]", 1);
+// assertAQueryHasNumberOfDocs(qname + ":[3 TO 3.39]", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":[3 TO 3.4]", 1);
+// assertAQueryHasNumberOfDocs(qname + ":[3.41 TO 4]", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":[3.4 TO 4]", 1);
+// assertAQueryHasNumberOfDocs(qname + ":[3 TO 3.4>", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":<3.4 TO 4]", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":<3.4 TO 3.4>", 0);;
+//
+// assertAQueryHasNumberOfDocs(qname + ":(3.40)", 1);
+// assertAQueryHasNumberOfDocs(qname + ":(3..4)", 1);
+// assertAQueryHasNumberOfDocs(qname + ":(3..3.39)", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":(3..3.40)", 1);
+// assertAQueryHasNumberOfDocs(qname + ":(3.41..3.9)", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":(3.40..3.9)", 1);
+//
+// assertAQueryHasNumberOfDocs(qname + ":([3 TO 4])", 1);
+// assertAQueryHasNumberOfDocs(qname + ":([3 TO 3.39])", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":([3 TO 3.4])", 1);
+// assertAQueryHasNumberOfDocs(qname + ":([3.41 TO 4])", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":([3.4 TO 4])", 1);
+// assertAQueryHasNumberOfDocs(qname + ":([3 TO 3.4>)", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":(<3.4 TO 4])", 0);;
+// assertAQueryHasNumberOfDocs(qname + ":(<3.4 TO 3.4>)", 0);;
+//
+// assertAQueryHasNumberOfDocs("test:float_x002D_ista:3.40", 1);
+//
+// //Test Lazy
+// assertAQueryHasNumberOfDocs("lazy", 1);
+// assertAQueryHasNumberOfDocs("laz*", 1);
+// assertAQueryHasNumberOfDocs("l*y", 1);
+// assertAQueryHasNumberOfDocs("l??y", 1);
+// assertAQueryHasNumberOfDocs("?az?", 1);
+// assertAQueryHasNumberOfDocs("*zy", 1);
+//
+// assertAQueryHasNumberOfDocs("\"lazy\"", 1);
+// assertAQueryHasNumberOfDocs("\"laz*\"", 1);
+// assertAQueryHasNumberOfDocs("\"l*y\"", 1);
+// assertAQueryHasNumberOfDocs("\"l??y\"", 1);
+// assertAQueryHasNumberOfDocs("\"?az?\"", 1);
+// assertAQueryHasNumberOfDocs("\"*zy\"", 1);
+//
+// assertAQueryHasNumberOfDocs("cm:content:lazy", 1);
+// assertAQueryHasNumberOfDocs("cm:content:laz*", 1);
+// assertAQueryHasNumberOfDocs("cm:content:l*y", 1);
+// assertAQueryHasNumberOfDocs("cm:content:l??y", 1);
+// assertAQueryHasNumberOfDocs("cm:content:?az?", 1);
+// assertAQueryHasNumberOfDocs("cm:content:*zy", 1);
+//
+// assertAQueryHasNumberOfDocs("cm:content:\"lazy\"", 1);
+// assertAQueryHasNumberOfDocs("cm:content:\"laz*\"", 1);
+// assertAQueryHasNumberOfDocs("cm:content:\"l*y\"", 1);
+// assertAQueryHasNumberOfDocs("cm:content:\"l??y\"", 1);
+// assertAQueryHasNumberOfDocs("cm:content:\"?az?\"", 1);
+// assertAQueryHasNumberOfDocs("cm:content:\"*zy\"", 1);
+//
+// assertAQueryHasNumberOfDocs("cm:content:(lazy)", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(laz*)", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(l*y)", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(l??y)", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(?az?)", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(*zy)", 1);
+//
+// assertAQueryHasNumberOfDocs("cm:content:(\"lazy\")", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(\"laz*\")", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(\"l*y\")", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(\"l??y\")", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(\"?az?\")", 1);
+// assertAQueryHasNumberOfDocs("cm:content:(\"*zy\")", 1);
+//
+// assertAQueryHasNumberOfDocs("lazy^2 dog^4.2", 1);
+// assertAQueryHasNumberOfDocs("lazy~0.7", 1);
+// assertAQueryHasNumberOfDocs("cm:content:laxy~0.7", 1);
+// assertAQueryHasNumberOfDocs("laxy~0.7", 1);
+// assertAQueryHasNumberOfDocs("=laxy~0.7", 1);
+// assertAQueryHasNumberOfDocs("~laxy~0.7", 1);
+//
+// assertAQueryHasNumberOfDocs("\"quick fox\"~0", 0);
+// assertAQueryHasNumberOfDocs("\"quick fox\"~1", 1);
+// assertAQueryHasNumberOfDocs("\"quick fox\"~2", 1);
+// assertAQueryHasNumberOfDocs("\"quick fox\"~3", 1);
+//
+// assertAQueryHasNumberOfDocs("\"fox quick\"~0", 0);
+// assertAQueryHasNumberOfDocs("\"fox quick\"~1", 0);
+// assertAQueryHasNumberOfDocs("\"fox quick\"~2", 1);
+// assertAQueryHasNumberOfDocs("\"fox quick\"~3", 1);
+//
+// assertAQueryHasNumberOfDocs("lazy", 1);
+// assertAQueryHasNumberOfDocs("-lazy", 15);
+// assertAQueryHasNumberOfDocs("lazy -lazy", 16);
+// assertAQueryHasNumberOfDocs("lazy^20 -lazy", 16);
+// assertAQueryHasNumberOfDocs("lazy^20 -lazy^20", 16);
+//
+// assertAQueryHasNumberOfDocs("cm:content:lazy",1);
+//// assertAQueryHasNumberOfDocs("ANDY:lazy", 1);
+// assertAQueryHasNumberOfDocs("content:lazy", 1);
+// assertAQueryHasNumberOfDocs("PATH:\"//.\"", 16);
+// assertAQueryHasNumberOfDocs("+PATH:\"/app:company_home/st:sites/cm:rmtestnew1/cm:documentLibrary//*\"", 0);
+// assertAQueryHasNumberOfDocs("+PATH:\"/app:company_home/st:sites/cm:rmtestnew1/cm:documentLibrary//*\" -TYPE:\"{http://www.alfresco.org/model/content/1.0}thumbnail\"", 15);
+// assertAQueryHasNumberOfDocs("+PATH:\"/app:company_home/st:sites/cm:rmtestnew1/cm:documentLibrary//*\" AND -TYPE:\"{http://www.alfresco.org/model/content/1.0}thumbnail\"", 0);
+//
+// assertAQueryHasNumberOfDocs("(brown *(6) dog)", 1);
+// assertAQueryHasNumberOfDocs("TEXT:(brown *(6) dog)", 1);
+// assertAQueryHasNumberOfDocs("\"//.\"", 0);
+// assertAQueryHasNumberOfDocs("cm:content:brown", 1);
+//
+// //assertAQueryHasNumberOfDocs("ANDY:brown", 1);
+// //assertAQueryHasNumberOfDocs("andy:brown", 1);
+// // testQueryByHandler(report, core, "/afts", "ANDY", "brown", 1, null, (String) null);
+// // testQueryByHandler(report, core, "/afts", "andy", "brown", 1, null, (String) null);
+//
+// assertAQueryHasNumberOfDocs("modified:*", 2);
+// assertAQueryHasNumberOfDocs("modified:[MIN TO NOW]", 2);
+//
+// assertAQueryHasNumberOfDocs("TYPE:" + testType.toString(), 1);
+//// testQueryByHandler(report, core, "/afts", "TYPE:" + testType.toString(), 0, null, null, null, null, null, (ContentStream)null, "mimetype():document");
+// assertAQueryHasNumberOfDocs("TYPE:" + ContentModel.TYPE_CONTENT.toString(), 1);
+//// testQueryByHandler(report, core, "/afts", "TYPE:" + ContentModel.TYPE_CONTENT.toString(), 1, null, null, null, null, null, (ContentStream)null, "mimetype():document");
+//// testQueryByHandler(report, core, "/afts", "TYPE:" + ContentModel.TYPE_CONTENT.toString(), 0, null, null, null, null, null, (ContentStream)null, "contentSize():[0 TO 100]");
+//// testQueryByHandler(report, core, "/afts", "TYPE:" + ContentModel.TYPE_CONTENT.toString(), 1, null, null, null, null, null, (ContentStream)null, "contentSize():[100 TO 1000]");
+//
+// assertAQueryHasNumberOfDocs("modified:[NOW/DAY-1DAY TO NOW/DAY+1DAY]", 2);
+// assertAQueryHasNumberOfDocs("modified:[NOW/DAY-1DAY TO *]", 2);
+// assertAQueryHasNumberOfDocs("modified:[* TO NOW/DAY+1DAY]", 2);
+// assertAQueryHasNumberOfDocs("modified:[* TO *]", 2);
+//
+// // Synonym
+// // 1 in text - 1 in query
+// assertAQueryHasNumberOfDocs("quick", 1);
+// assertAQueryHasNumberOfDocs("quick", 1);
+// // 3 words in test - 1..3 in query
+// assertAQueryHasNumberOfDocs("brown AND fox AND jumped", 1);
+////Not working
+//// assertAQueryHasNumberOfDocs("leaping AND reynard", 1);
+//// assertAQueryHasNumberOfDocs("springer", 1);
+// // 1 word in text 1..2 in query
+// assertAQueryHasNumberOfDocs("lazy", 1);
+//// assertAQueryHasNumberOfDocs("bone AND idle", 1);
+//
+// // Cross language support and tokenisation part and full.
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English123", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French123", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:123", "locale", Locale.ENGLISH.toString()), null), "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English123", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French123", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:123", "locale", Locale.FRENCH.toString()), null), "*[count(//doc)=1]");
+//
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:English123", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:French123", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", "title:123", "locale", Locale.GERMAN.toString()), null), "*[count(//doc)=1]");
+//
+// /*
+// testQueryByHandler(report, core, "/afts", "PATH:\"//.\"", 16, "DBID desc", new Integer[] { 16, 15, 14, 13, 12, 11,
+// 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }, null, null, null, (String) null);
+//
+// // testQueryByHandler(report, core, "/afts", "PATH", "\"//.\"", 16, null, (String) null);
+// */
+//
+// //Auth code goes here
+// }
+//
+// private void assertAQueryHasNumberOfDocs(String query, int num)
+// {
+// assertQ(areq(params("rows", "20", "qt", "/afts", "q", query), null), "*[count(//doc)="+num+"]");
+// }
+//
+//
+//}
\ No newline at end of file
diff --git a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/CMISQParserPluginSuite.java b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/CMISQParserPluginSuite.java
new file mode 100644
index 000000000..13421654a
--- /dev/null
+++ b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/CMISQParserPluginSuite.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.solr.query.cmis;
+
+import org.alfresco.solr.AbstractAlfrescoSolrTests;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+@RunWith(value = Suite.class)
+@SuiteClasses({
+ LoadCMISData.class,
+ TestAlfrescoCMISQParserPlugin.class
+})
+/**
+ * Test CMIS query and parsing plugin.
+ * The suite works by loading all the test data using LoadCMISData.
+ * This step load the data directly into the harness.
+ * Once the data load completes the test executes the AlfrescoCMISQParserPluginTests
+ * which contains all the tests.
+ *
+ * @author Michael Suzuki
+ *
+ */
+public class CMISQParserPluginSuite extends AbstractAlfrescoSolrTests
+{
+
+
+ @BeforeClass
+ public static void beforeClass() throws Exception
+ {
+ initAlfrescoCore("solrconfig-afts.xml", "schema-afts.xml");
+ Thread.sleep(30000);
+ }
+
+}
diff --git a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/LoadCMISData.java b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/LoadCMISData.java
new file mode 100644
index 000000000..275e5292b
--- /dev/null
+++ b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/LoadCMISData.java
@@ -0,0 +1,627 @@
+/*
+ * Copyright (C) 2005-2016 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+
+package org.alfresco.solr.query.cmis;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Locale;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.StoreRef;
+import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
+import org.alfresco.service.namespace.NamespaceService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.solr.AbstractAlfrescoSolrTests;
+import org.alfresco.solr.AlfrescoSolrDataModel;
+import org.alfresco.solr.client.ContentPropertyValue;
+import org.alfresco.solr.client.MLTextPropertyValue;
+import org.alfresco.solr.client.PropertyValue;
+import org.alfresco.solr.client.StringPropertyValue;
+import org.apache.solr.core.SolrCore;
+import org.junit.Test;
+
+import static org.alfresco.solr.AlfrescoSolrUtils.*;
+/**
+ * CMIS test data load, prepare test suite with data
+ * @author Michael Suzuki
+ *
+ */
+public class LoadCMISData extends AbstractAlfrescoSolrTests
+{
+
+ @Test
+ public void loadCMISTestSet() throws IOException
+ {
+ SolrCore core = h.getCore();
+ AlfrescoSolrDataModel dataModel = AlfrescoSolrDataModel.getInstance();
+ dataModel.setCMDefaultUri();
+ NodeRef rootNodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ addStoreRoot(core, dataModel, rootNodeRef, 1, 1, 1, 1);
+
+ // Base
+
+ HashMap baseFolderProperties = new HashMap();
+ baseFolderProperties.put(ContentModel.PROP_NAME, new StringPropertyValue("Base Folder"));
+ // This variable is never used. What was it meant to be used for?
+ HashMap baseFolderContent = new HashMap();
+ NodeRef baseFolderNodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ testBaseFolderNodeRef = baseFolderNodeRef.toString();
+ QName baseFolderQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "baseFolder");
+ ChildAssociationRef n01CAR = new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef,
+ baseFolderQName, baseFolderNodeRef, true, 0);
+ addNode(core, dataModel, 1, 2, 1, ContentModel.TYPE_FOLDER, null, baseFolderProperties, null, "andy",
+ new ChildAssociationRef[] { n01CAR }, new NodeRef[] { rootNodeRef }, new String[] { "/"
+ + baseFolderQName.toString() }, baseFolderNodeRef, true);
+
+ // Folders
+
+ HashMap folder00Properties = new HashMap();
+ folder00Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 0"));
+ HashMap folder00Content = new HashMap();
+ NodeRef folder00NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder00QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 0");
+ ChildAssociationRef folder00CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, baseFolderNodeRef,
+ folder00QName, folder00NodeRef, true, 0);
+ addNode(core, dataModel, 1, 3, 1, ContentModel.TYPE_FOLDER, null, folder00Properties, null, "andy",
+ new ChildAssociationRef[] { folder00CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() },
+ folder00NodeRef, true);
+
+ HashMap folder01Properties = new HashMap();
+ folder01Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 1"));
+ HashMap folder01Content = new HashMap();
+ NodeRef folder01NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder01QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 1");
+ ChildAssociationRef folder01CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, baseFolderNodeRef,
+ folder01QName, folder01NodeRef, true, 0);
+ addNode(core, dataModel, 1, 4, 1, ContentModel.TYPE_FOLDER, null, folder01Properties, null, "bob",
+ new ChildAssociationRef[] { folder01CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder01QName.toString() },
+ folder01NodeRef, true);
+
+ HashMap folder02Properties = new HashMap();
+ folder02Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 2"));
+ HashMap folder02Content = new HashMap();
+ NodeRef folder02NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder02QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 2");
+ ChildAssociationRef folder02CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, baseFolderNodeRef,
+ folder02QName, folder02NodeRef, true, 0);
+ addNode(core, dataModel, 1, 5, 1, ContentModel.TYPE_FOLDER, null, folder02Properties, null, "cid",
+ new ChildAssociationRef[] { folder02CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder02QName.toString() },
+ folder02NodeRef, true);
+
+ HashMap folder03Properties = new HashMap();
+ folder03Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 3"));
+ HashMap folder03Content = new HashMap();
+ NodeRef folder03NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder03QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 3");
+ ChildAssociationRef folder03CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, baseFolderNodeRef,
+ folder03QName, folder03NodeRef, true, 0);
+ addNode(core, dataModel, 1, 6, 1, ContentModel.TYPE_FOLDER, null, folder03Properties, null, "dave",
+ new ChildAssociationRef[] { folder03CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder03QName.toString() },
+ folder03NodeRef, true);
+
+ HashMap folder04Properties = new HashMap();
+ folder04Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 4"));
+ HashMap folder04Content = new HashMap();
+ NodeRef folder04NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder04QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 4");
+ ChildAssociationRef folder04CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder00NodeRef,
+ folder04QName, folder04NodeRef, true, 0);
+ addNode(core, dataModel, 1, 7, 1, ContentModel.TYPE_FOLDER, null, folder04Properties, null, "eoin",
+ new ChildAssociationRef[] { folder04CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef,
+ folder00NodeRef }, new String[] { "/" + baseFolderQName.toString() + "/"
+ + folder00QName.toString() + "/" + folder04QName.toString() }, folder04NodeRef,
+ true);
+
+ HashMap folder05Properties = new HashMap();
+ folder05Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 5"));
+ HashMap folder05Content = new HashMap();
+ NodeRef folder05NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder05QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 5");
+ ChildAssociationRef folder05CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder00NodeRef,
+ folder05QName, folder05NodeRef, true, 0);
+ addNode(core, dataModel, 1, 8, 1, ContentModel.TYPE_FOLDER, null, folder05Properties, null, "fred",
+ new ChildAssociationRef[] { folder05CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef,
+ folder00NodeRef }, new String[] { "/" + baseFolderQName.toString() + "/"
+ + folder00QName.toString() + "/" + folder05QName.toString() }, folder05NodeRef,
+ true);
+
+ HashMap folder06Properties = new HashMap();
+ folder06Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 6"));
+ HashMap folder06Content = new HashMap();
+ NodeRef folder06NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder06QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 6");
+ ChildAssociationRef folder06CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder05NodeRef,
+ folder06QName, folder06NodeRef, true, 0);
+ addNode(core, dataModel, 1, 9, 1, ContentModel.TYPE_FOLDER, null, folder06Properties, null, "gail",
+ new ChildAssociationRef[] { folder06CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef,
+ folder00NodeRef, folder05NodeRef }, new String[] { "/" + baseFolderQName.toString()
+ + "/" + folder00QName.toString() + "/" + folder05QName.toString() + "/"
+ + folder06QName.toString() }, folder06NodeRef, true);
+
+ HashMap folder07Properties = new HashMap();
+ folder07Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 7"));
+ HashMap folder07Content = new HashMap();
+ NodeRef folder07NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder07QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 7");
+ ChildAssociationRef folder07CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder06NodeRef,
+ folder07QName, folder07NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 10,
+ 1,
+ ContentModel.TYPE_FOLDER,
+ null,
+ folder07Properties,
+ null,
+ "hal",
+ new ChildAssociationRef[] { folder07CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() }, folder07NodeRef, true);
+
+ HashMap folder08Properties = new HashMap();
+ folder08Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 8"));
+ HashMap folder08Content = new HashMap();
+ NodeRef folder08NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder08QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 8");
+ ChildAssociationRef folder08CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder07NodeRef,
+ folder08QName, folder08NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 11,
+ 1,
+ ContentModel.TYPE_FOLDER,
+ null,
+ folder08Properties,
+ null,
+ "ian",
+ new ChildAssociationRef[] { folder08CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef, folder07NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() + "/" + folder08QName.toString() }, folder08NodeRef,
+ true);
+
+ HashMap folder09Properties = new HashMap();
+ folder09Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 9'"));
+ HashMap folder09Content = new HashMap();
+ NodeRef folder09NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName folder09QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 9'");
+ ChildAssociationRef folder09CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder08NodeRef,
+ folder09QName, folder09NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 12,
+ 1,
+ ContentModel.TYPE_FOLDER,
+ null,
+ folder09Properties,
+ null,
+ "jake",
+ new ChildAssociationRef[] { folder09CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef, folder07NodeRef, folder08NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() + "/" + folder08QName.toString() + "/"
+ + folder09QName.toString() }, folder09NodeRef, true);
+
+ // content
+
+ HashMap content00Properties = new HashMap();
+ MLTextPropertyValue desc00 = new MLTextPropertyValue();
+ desc00.addValue(Locale.ENGLISH, "Alfresco tutorial");
+ desc00.addValue(Locale.US, "Alfresco tutorial");
+ content00Properties.put(ContentModel.PROP_DESCRIPTION, desc00);
+ content00Properties.put(ContentModel.PROP_TITLE, desc00);
+ content00Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content00Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Alfresco Tutorial"));
+ content00Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content00Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ content00Properties.put(ContentModel.PROP_VERSION_LABEL, new StringPropertyValue("1.0"));
+ content00Properties.put(ContentModel.PROP_OWNER, new StringPropertyValue("andy"));
+ Date date00 = new Date();
+ content00Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date00)));
+ content00Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date00)));
+ HashMap content00Content = new HashMap();
+ content00Content
+ .put(ContentModel.PROP_CONTENT,
+ "The quick brown fox jumped over the lazy dog and ate the Alfresco Tutorial, in pdf format, along with the following stop words; a an and are"
+ + " as at be but by for if in into is it no not of on or such that the their then there these they this to was will with: "
+ + " and random charcters \u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF score");
+ NodeRef content00NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content00QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Alfresco Tutorial");
+ ChildAssociationRef content00CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder00NodeRef,
+ content00QName, content00NodeRef, true, 0);
+ addNode(core, dataModel, 1, 13, 1, ContentModel.TYPE_CONTENT, new QName[] { ContentModel.ASPECT_OWNABLE,
+ ContentModel.ASPECT_TITLED }, content00Properties, content00Content, "andy",
+ new ChildAssociationRef[] { content00CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef,
+ folder00NodeRef }, new String[] { "/" + baseFolderQName.toString() + "/"
+ + folder00QName.toString() + "/" + content00QName.toString() }, content00NodeRef,
+ true);
+
+ HashMap content01Properties = new HashMap();
+ MLTextPropertyValue desc01 = new MLTextPropertyValue();
+ desc01.addValue(Locale.ENGLISH, "One");
+ desc01.addValue(Locale.US, "One");
+ content01Properties.put(ContentModel.PROP_DESCRIPTION, desc01);
+ content01Properties.put(ContentModel.PROP_TITLE, desc01);
+ content01Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content01Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("AA%"));
+ content01Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content01Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date01 = new Date(date00.getTime() + 1000);
+ content01Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date01)));
+ content01Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date01)));
+ HashMap content01Content = new HashMap();
+ content01Content.put(ContentModel.PROP_CONTENT, "One Zebra Apple score score score score score score score score score score score");
+ NodeRef content01NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content01QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "AA%");
+ ChildAssociationRef content01CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder01NodeRef,
+ content01QName, content01NodeRef, true, 0);
+ addNode(core, dataModel, 1, 14, 1, ContentModel.TYPE_CONTENT, new QName[] { ContentModel.ASPECT_TITLED },
+ content01Properties, content01Content, "cmis", new ChildAssociationRef[] { content01CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder01NodeRef }, new String[] { "/"
+ + baseFolderQName.toString() + "/" + folder01QName.toString() + "/"
+ + content01QName.toString() }, content01NodeRef, true);
+
+ HashMap content02Properties = new HashMap();
+ MLTextPropertyValue desc02 = new MLTextPropertyValue();
+ desc02.addValue(Locale.ENGLISH, "Two");
+ desc02.addValue(Locale.US, "Two");
+ content02Properties.put(ContentModel.PROP_DESCRIPTION, desc02);
+ content02Properties.put(ContentModel.PROP_TITLE, desc02);
+ content02Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content02Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("BB_"));
+ content02Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content02Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date02 = new Date(date01.getTime() + 1000);
+ content02Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date02)));
+ content02Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date02)));
+ HashMap content02Content = new HashMap();
+ content02Content.put(ContentModel.PROP_CONTENT, "Two Zebra Banana score score score score score score score score score score pad");
+ NodeRef content02NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content02QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "BB_");
+ ChildAssociationRef content02CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder02NodeRef,
+ content02QName, content02NodeRef, true, 0);
+ addNode(core, dataModel, 1, 15, 1, ContentModel.TYPE_CONTENT, new QName[] { ContentModel.ASPECT_TITLED },
+ content02Properties, content02Content, "cmis", new ChildAssociationRef[] { content02CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder02NodeRef }, new String[] { "/"
+ + baseFolderQName.toString() + "/" + folder02QName.toString() + "/"
+ + content02QName.toString() }, content02NodeRef, true);
+
+ HashMap content03Properties = new HashMap();
+ MLTextPropertyValue desc03 = new MLTextPropertyValue();
+ desc03.addValue(Locale.ENGLISH, "Three");
+ desc03.addValue(Locale.US, "Three");
+ content03Properties.put(ContentModel.PROP_DESCRIPTION, desc03);
+ content03Properties.put(ContentModel.PROP_TITLE, desc03);
+ content03Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content03Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("CC\\"));
+ content03Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content03Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date03 = new Date(date02.getTime() + 1000);
+ content03Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date03)));
+ content03Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date03)));
+ HashMap content03Content = new HashMap();
+ content03Content.put(ContentModel.PROP_CONTENT, "Three Zebra Clementine score score score score score score score score score pad pad");
+ NodeRef content03NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content03QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "CC\\");
+ ChildAssociationRef content03CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder03NodeRef,
+ content03QName, content03NodeRef, true, 0);
+ addNode(core, dataModel, 1, 16, 1, ContentModel.TYPE_CONTENT, new QName[] { ContentModel.ASPECT_TITLED },
+ content03Properties, content03Content, "cmis", new ChildAssociationRef[] { content03CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder03NodeRef }, new String[] { "/"
+ + baseFolderQName.toString() + "/" + folder03QName.toString() + "/"
+ + content03QName.toString() }, content03NodeRef, true);
+
+ HashMap content04Properties = new HashMap();
+ MLTextPropertyValue desc04 = new MLTextPropertyValue();
+ desc04.addValue(Locale.ENGLISH, "Four");
+ desc04.addValue(Locale.US, "Four");
+ content04Properties.put(ContentModel.PROP_DESCRIPTION, desc04);
+ content04Properties.put(ContentModel.PROP_TITLE, desc04);
+ content04Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content04Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("DD\'"));
+ content04Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content04Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date04 = new Date(date03.getTime() + 1000);
+ content04Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date04)));
+ content04Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date04)));
+ HashMap content04Content = new HashMap();
+ content04Content.put(ContentModel.PROP_CONTENT, "Four zebra durian score score score score score score score score pad pad pad");
+ NodeRef content04NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content04QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "DD\'");
+ ChildAssociationRef content04CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder04NodeRef,
+ content04QName, content04NodeRef, true, 0);
+ addNode(core, dataModel, 1, 17, 1, ContentModel.TYPE_CONTENT, new QName[] { ContentModel.ASPECT_TITLED },
+ content04Properties, content04Content, null, new ChildAssociationRef[] { content04CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder04NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder04QName.toString() + "/" + content04QName.toString() }, content04NodeRef,
+ true);
+
+ HashMap content05Properties = new HashMap();
+ MLTextPropertyValue desc05 = new MLTextPropertyValue();
+ desc05.addValue(Locale.ENGLISH, "Five");
+ desc05.addValue(Locale.US, "Five");
+ content05Properties.put(ContentModel.PROP_DESCRIPTION, desc05);
+ content05Properties.put(ContentModel.PROP_TITLE, desc05);
+ content05Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content05Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("EE.aa"));
+ content05Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content05Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date05 = new Date(date04.getTime() + 1000);
+ content05Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date05)));
+ content05Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date05)));
+ content05Properties.put(
+ ContentModel.PROP_EXPIRY_DATE,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class,
+ DefaultTypeConverter.INSTANCE.convert(Date.class, "2012-12-12T12:12:12.012Z"))));
+ content05Properties.put(ContentModel.PROP_LOCK_OWNER, new StringPropertyValue("andy"));
+ content05Properties.put(ContentModel.PROP_LOCK_TYPE, new StringPropertyValue("WRITE_LOCK"));
+ HashMap content05Content = new HashMap();
+ content05Content.put(ContentModel.PROP_CONTENT, "Five zebra Ebury score score score score score score score pad pad pad pad");
+ NodeRef content05NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content05QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "EE.aa");
+ ChildAssociationRef content05CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder05NodeRef,
+ content05QName, content05NodeRef, true, 0);
+ addNode(core, dataModel, 1, 18, 1, ContentModel.TYPE_CONTENT, new QName[] { ContentModel.ASPECT_TITLED,
+ ContentModel.ASPECT_LOCKABLE }, content05Properties, content05Content, null,
+ new ChildAssociationRef[] { content05CAR }, new NodeRef[] { baseFolderNodeRef, rootNodeRef,
+ folder00NodeRef, folder05NodeRef }, new String[] { "/" + baseFolderQName.toString()
+ + "/" + folder00QName.toString() + "/" + content05QName.toString() },
+ content05NodeRef, true);
+
+ HashMap content06Properties = new HashMap();
+ MLTextPropertyValue desc06 = new MLTextPropertyValue();
+ desc06.addValue(Locale.ENGLISH, "Six");
+ desc06.addValue(Locale.US, "Six");
+ content06Properties.put(ContentModel.PROP_DESCRIPTION, desc06);
+ content06Properties.put(ContentModel.PROP_TITLE, desc06);
+ content06Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content06Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("FF.EE"));
+ content06Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content06Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date06 = new Date(date05.getTime() + 1000);
+ content06Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date06)));
+ content06Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date06)));
+ HashMap content06Content = new HashMap();
+ content06Content.put(ContentModel.PROP_CONTENT, "Six zebra fig score score score score score score pad pad pad pad pad");
+ NodeRef content06NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content06QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "FF.EE");
+ ChildAssociationRef content06CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder06NodeRef,
+ content06QName, content06NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 19,
+ 1,
+ ContentModel.TYPE_CONTENT,
+ new QName[] { ContentModel.ASPECT_TITLED },
+ content06Properties,
+ content06Content,
+ null,
+ new ChildAssociationRef[] { content06CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + content06QName.toString() }, content06NodeRef, true);
+
+ HashMap content07Properties = new HashMap();
+ MLTextPropertyValue desc07 = new MLTextPropertyValue();
+ desc07.addValue(Locale.ENGLISH, "Seven");
+ desc07.addValue(Locale.US, "Seven");
+ content07Properties.put(ContentModel.PROP_DESCRIPTION, desc07);
+ content07Properties.put(ContentModel.PROP_TITLE, desc07);
+ content07Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content07Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("GG*GG"));
+ content07Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content07Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date07 = new Date(date06.getTime() + 1000);
+ content07Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date07)));
+ content07Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date07)));
+ HashMap content07Content = new HashMap();
+ content07Content.put(ContentModel.PROP_CONTENT, "Seven zebra grapefruit score score score score score pad pad pad pad pad pad");
+ NodeRef content07NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content07QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "GG*GG");
+ ChildAssociationRef content07CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder07NodeRef,
+ content07QName, content07NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 20,
+ 1,
+ ContentModel.TYPE_CONTENT,
+ new QName[] { ContentModel.ASPECT_TITLED },
+ content07Properties,
+ content07Content,
+ null,
+ new ChildAssociationRef[] { content07CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef, folder07NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() + "/" + content07QName.toString() }, content07NodeRef,
+ true);
+
+ HashMap content08Properties = new HashMap();
+ MLTextPropertyValue desc08 = new MLTextPropertyValue();
+ desc08.addValue(Locale.ENGLISH, "Eight");
+ desc08.addValue(Locale.US, "Eight");
+ content08Properties.put(ContentModel.PROP_DESCRIPTION, desc08);
+ content08Properties.put(ContentModel.PROP_TITLE, desc08);
+ content08Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-8",
+ "text/plain", null));
+ content08Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("HH?HH"));
+ content08Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content08Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date08 = new Date(date07.getTime() + 1000);
+ content08Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date08)));
+ content08Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date08)));
+ HashMap content08Content = new HashMap();
+ content08Content.put(ContentModel.PROP_CONTENT, "Eight zebra jackfruit score score score score pad pad pad pad pad pad pad");
+ NodeRef content08NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content08QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "HH?HH");
+ ChildAssociationRef content08CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder08NodeRef,
+ content08QName, content08NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 21,
+ 1,
+ ContentModel.TYPE_CONTENT,
+ new QName[] { ContentModel.ASPECT_TITLED },
+ content08Properties,
+ content08Content,
+ null,
+ new ChildAssociationRef[] { content08CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef, folder07NodeRef, folder08NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() + "/" + folder08QName.toString() + "/"
+ + content08QName.toString() }, content08NodeRef, true);
+
+ HashMap content09Properties = new HashMap();
+ MLTextPropertyValue desc09 = new MLTextPropertyValue();
+ desc09.addValue(Locale.ENGLISH, "Nine");
+ desc09.addValue(Locale.US, "Nine");
+ content09Properties.put(ContentModel.PROP_DESCRIPTION, desc09);
+ content09Properties.put(ContentModel.PROP_TITLE, desc09);
+ content09Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-9",
+ "text/plain", null));
+ content09Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("aa"));
+ content09Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content09Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date09 = new Date(date08.getTime() + 1000);
+ content09Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date09)));
+ content09Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date09)));
+ content09Properties.put(ContentModel.PROP_VERSION_LABEL, new StringPropertyValue("label"));
+ HashMap content09Content = new HashMap();
+ content09Content.put(ContentModel.PROP_CONTENT, "Nine zebra kiwi score score score pad pad pad pad pad pad pad pad");
+ NodeRef content09NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content09QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "aa");
+ ChildAssociationRef content09CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder09NodeRef,
+ content09QName, content09NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 22,
+ 1,
+ ContentModel.TYPE_CONTENT,
+ new QName[] { ContentModel.ASPECT_TITLED },
+ content09Properties,
+ content09Content,
+ null,
+ new ChildAssociationRef[] { content09CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef, folder07NodeRef, folder08NodeRef, folder09NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() + "/" + folder08QName.toString() + "/"
+ + folder09QName.toString() + "/" + content09QName.toString() }, content09NodeRef,
+ true);
+
+ HashMap content10Properties = new HashMap();
+ MLTextPropertyValue desc10 = new MLTextPropertyValue();
+ desc10.addValue(Locale.ENGLISH, "Ten");
+ desc10.addValue(Locale.US, "Ten");
+ content10Properties.put(ContentModel.PROP_DESCRIPTION, desc10);
+ content10Properties.put(ContentModel.PROP_TITLE, desc10);
+ content10Properties.put(ContentModel.PROP_CONTENT, new ContentPropertyValue(Locale.UK, 0l, "UTF-9",
+ "text/plain", null));
+ content10Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("aa-thumb"));
+ content10Properties.put(ContentModel.PROP_CREATOR, new StringPropertyValue("System"));
+ content10Properties.put(ContentModel.PROP_MODIFIER, new StringPropertyValue("System"));
+ Date date10 = new Date(date09.getTime() + 1000);
+ content10Properties.put(ContentModel.PROP_CREATED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date10)));
+ content10Properties.put(ContentModel.PROP_MODIFIED,
+ new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date10)));
+ content10Properties.put(ContentModel.PROP_VERSION_LABEL, new StringPropertyValue("label"));
+ HashMap content10Content = new HashMap();
+ content10Content.put(ContentModel.PROP_CONTENT, "Ten zebra kiwi thumb score pad pad pad pad pad pad pad pad pad");
+ NodeRef content10NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
+ QName content10QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "aa-thumb");
+ ChildAssociationRef content10CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder09NodeRef,
+ content10QName, content10NodeRef, true, 0);
+ addNode(core,
+ dataModel,
+ 1,
+ 23,
+ 1,
+ ContentModel.TYPE_DICTIONARY_MODEL,
+ new QName[] { ContentModel.ASPECT_TITLED },
+ content10Properties,
+ content10Content,
+ null,
+ new ChildAssociationRef[] { content10CAR },
+ new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef, folder05NodeRef,
+ folder06NodeRef, folder07NodeRef, folder08NodeRef, folder09NodeRef },
+ new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/"
+ + folder05QName.toString() + "/" + folder06QName.toString() + "/"
+ + folder07QName.toString() + "/" + folder08QName.toString() + "/"
+ + folder09QName.toString() + "/" + content10QName.toString() }, content10NodeRef,
+ true);
+ }
+}
diff --git a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoCMISQParserPluginTest.java b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/TestAlfrescoCMISQParserPlugin.java
similarity index 95%
rename from search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoCMISQParserPluginTest.java
rename to search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/TestAlfrescoCMISQParserPlugin.java
index f02018d8d..5e64d955e 100644
--- a/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/AlfrescoCMISQParserPluginTest.java
+++ b/search-services/alfresco-solr/src/test/java/org/alfresco/solr/query/cmis/TestAlfrescoCMISQParserPlugin.java
@@ -17,48 +17,19 @@
* along with Alfresco. If not, see .
*/
-package org.alfresco.solr.query;
+package org.alfresco.solr.query.cmis;
-import org.alfresco.model.ContentModel;
-import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.cmr.repository.StoreRef;
-import org.alfresco.service.namespace.QName;
-import org.alfresco.solr.AlfrescoSolrDataModel;
-import org.alfresco.solr.AlfrescoSolrTestCaseJ4;
-import org.alfresco.solr.SolrInformationServer;
-import org.alfresco.util.SearchLanguageConversion;
-import org.apache.lucene.util.LuceneTestCase;
import org.alfresco.repo.search.adaptor.lucene.QueryConstants;
+import org.alfresco.solr.AbstractAlfrescoSolrTests;
+import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
-import java.util.Locale;
-
@LuceneTestCase.SuppressCodecs({"Appending","Lucene3x","Lucene40","Lucene41","Lucene42","Lucene43", "Lucene44", "Lucene45","Lucene46","Lucene47","Lucene48","Lucene49"})
@SolrTestCaseJ4.SuppressSSL
-public class AlfrescoCMISQParserPluginTest extends AlfrescoSolrTestCaseJ4 implements QueryConstants {
-
- @BeforeClass
- public static void beforeClass() throws Exception {
- initAlfrescoCore("solrconfig-afts.xml", "schema-afts.xml");
- Thread.sleep(30000);
- loadCMISTestSet();
- }
-
- @Override
- @Before
- public void setUp() throws Exception {
- // if you override setUp or tearDown, you better callf
- // the super classes version
- super.setUp();
- //clearIndex();
- //assertU(commit());
- }
-
+public class TestAlfrescoCMISQParserPlugin extends AbstractAlfrescoSolrTests implements QueryConstants
+{
@Test
public void dataChecks() throws Exception {