mirror of
https://github.com/Alfresco/SearchServices.git
synced 2025-09-10 14:11:25 +00:00
Merge branch 'master' into testrefactor
This commit is contained in:
@@ -88,9 +88,21 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
{
|
||||
private static long id = 0;
|
||||
private static int orderTextCount = 0;
|
||||
protected static String testNodeRef;
|
||||
protected static String testBaseFolderNodeRef;
|
||||
protected static String testfolder00NodeRef;
|
||||
|
||||
|
||||
protected static NodeRef testRootNodeRef;
|
||||
protected static NodeRef testNodeRef;
|
||||
protected static NodeRef testBaseFolderNodeRef;
|
||||
protected static NodeRef testFolder00NodeRef;
|
||||
|
||||
|
||||
protected static NodeRef testCMISContent00NodeRef;
|
||||
protected static NodeRef testCMISRootNodeRef;
|
||||
protected static NodeRef testCMISBaseFolderNodeRef;
|
||||
protected static NodeRef testCMISFolder00NodeRef;
|
||||
protected static QName testCMISBaseFolderQName;
|
||||
protected static QName testCMISFolder00QName;
|
||||
protected static Date testCMISDate00;
|
||||
private static Date orderDate = new Date();
|
||||
protected static final String TEST_NAMESPACE = "http://www.alfresco.org/test/solrtest";
|
||||
|
||||
@@ -120,6 +132,62 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
|
||||
protected static QName testAspect = QName.createQName(TEST_NAMESPACE, "testAspect");
|
||||
|
||||
private static final String CMIS_TEST_NAMESPACE = "http://www.alfresco.org/test/cmis-query-test";
|
||||
|
||||
protected static QName extendedContent = QName.createQName(CMIS_TEST_NAMESPACE, "extendedContent");
|
||||
|
||||
protected static QName singleTextBoth = QName.createQName(CMIS_TEST_NAMESPACE, "singleTextBoth");
|
||||
|
||||
protected static QName singleTextUntokenised = QName.createQName(CMIS_TEST_NAMESPACE, "singleTextUntokenised");
|
||||
|
||||
protected static QName singleTextTokenised = QName.createQName(CMIS_TEST_NAMESPACE, "singleTextTokenised");
|
||||
|
||||
protected static QName multipleTextBoth = QName.createQName(CMIS_TEST_NAMESPACE, "multipleTextBoth");
|
||||
|
||||
protected static QName multipleTextUntokenised = QName.createQName(CMIS_TEST_NAMESPACE, "multipleTextUntokenised");
|
||||
|
||||
protected static QName multipleTextTokenised = QName.createQName(CMIS_TEST_NAMESPACE, "multipleTextTokenised");
|
||||
|
||||
protected static QName singleMLTextBoth = QName.createQName(CMIS_TEST_NAMESPACE, "singleMLTextBoth");
|
||||
|
||||
protected static QName singleMLTextUntokenised = QName.createQName(CMIS_TEST_NAMESPACE, "singleMLTextUntokenised");
|
||||
|
||||
protected static QName singleMLTextTokenised = QName.createQName(CMIS_TEST_NAMESPACE, "singleMLTextTokenised");
|
||||
|
||||
protected static QName multipleMLTextBoth = QName.createQName(CMIS_TEST_NAMESPACE, "multipleMLTextBoth");
|
||||
|
||||
protected static QName multipleMLTextUntokenised = QName.createQName(CMIS_TEST_NAMESPACE, "multipleMLTextUntokenised");
|
||||
|
||||
protected static QName multipleMLTextTokenised = QName.createQName(CMIS_TEST_NAMESPACE, "multipleMLTextTokenised");
|
||||
|
||||
protected static QName singleFloat = QName.createQName(CMIS_TEST_NAMESPACE, "singleFloat");
|
||||
|
||||
protected static QName multipleFloat = QName.createQName(CMIS_TEST_NAMESPACE, "multipleFloat");
|
||||
|
||||
protected static QName singleDouble = QName.createQName(CMIS_TEST_NAMESPACE, "singleDouble");
|
||||
|
||||
protected static QName multipleDouble = QName.createQName(CMIS_TEST_NAMESPACE, "multipleDouble");
|
||||
|
||||
protected static QName singleInteger = QName.createQName(CMIS_TEST_NAMESPACE, "singleInteger");
|
||||
|
||||
protected static QName multipleInteger = QName.createQName(CMIS_TEST_NAMESPACE, "multipleInteger");
|
||||
|
||||
protected static QName singleLong = QName.createQName(CMIS_TEST_NAMESPACE, "singleLong");
|
||||
|
||||
protected static QName multipleLong = QName.createQName(CMIS_TEST_NAMESPACE, "multipleLong");
|
||||
|
||||
protected static QName singleBoolean = QName.createQName(CMIS_TEST_NAMESPACE, "singleBoolean");
|
||||
|
||||
protected static QName multipleBoolean = QName.createQName(CMIS_TEST_NAMESPACE, "multipleBoolean");
|
||||
|
||||
protected static QName singleDate = QName.createQName(CMIS_TEST_NAMESPACE, "singleDate");
|
||||
|
||||
protected static QName multipleDate = QName.createQName(CMIS_TEST_NAMESPACE, "multipleDate");
|
||||
|
||||
protected static QName singleDatetime = QName.createQName(CMIS_TEST_NAMESPACE, "singleDatetime");
|
||||
|
||||
protected static QName multipleDatetime = QName.createQName(CMIS_TEST_NAMESPACE, "multipleDatetime");
|
||||
|
||||
private static String[] orderNames = new String[] { "one", "two", "three", "four", "five", "six", "seven", "eight",
|
||||
"nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen" };
|
||||
|
||||
@@ -142,7 +210,7 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||
|
||||
protected AlfrescoSolrDataModel dataModel = AlfrescoSolrDataModel.getInstance();
|
||||
protected static AlfrescoSolrDataModel dataModel = AlfrescoSolrDataModel.getInstance();
|
||||
|
||||
|
||||
public static File HOME() {
|
||||
@@ -569,6 +637,7 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
AlfrescoSolrDataModel dataModel = AlfrescoSolrDataModel.getInstance();
|
||||
dataModel.setCMDefaultUri();
|
||||
NodeRef rootNodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
|
||||
testCMISRootNodeRef = rootNodeRef;
|
||||
addStoreRoot(core, dataModel, rootNodeRef, 1, 1, 1, 1);
|
||||
|
||||
// Base
|
||||
@@ -578,8 +647,9 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
// This variable is never used. What was it meant to be used for?
|
||||
HashMap<QName, String> baseFolderContent = new HashMap<QName, String>();
|
||||
NodeRef baseFolderNodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
|
||||
testBaseFolderNodeRef = baseFolderNodeRef.toString();
|
||||
testCMISBaseFolderNodeRef = baseFolderNodeRef;
|
||||
QName baseFolderQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "baseFolder");
|
||||
testCMISBaseFolderQName = baseFolderQName;
|
||||
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",
|
||||
@@ -592,8 +662,9 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
folder00Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Folder 0"));
|
||||
HashMap<QName, String> folder00Content = new HashMap<QName, String>();
|
||||
NodeRef folder00NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
|
||||
testfolder00NodeRef = folder00NodeRef.toString();
|
||||
testCMISFolder00NodeRef = folder00NodeRef;
|
||||
QName folder00QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Folder 0");
|
||||
testCMISFolder00QName = folder00QName;
|
||||
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",
|
||||
@@ -766,6 +837,8 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
content00Properties.put(ContentModel.PROP_VERSION_LABEL, new StringPropertyValue("1.0"));
|
||||
content00Properties.put(ContentModel.PROP_OWNER, new StringPropertyValue("andy"));
|
||||
Date date00 = new Date();
|
||||
testCMISDate00 = date00;
|
||||
|
||||
content00Properties.put(ContentModel.PROP_CREATED,
|
||||
new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date00)));
|
||||
content00Properties.put(ContentModel.PROP_MODIFIED,
|
||||
@@ -777,6 +850,7 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
+ " 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());
|
||||
testCMISContent00NodeRef = content00NodeRef;
|
||||
QName content00QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Alfresco Tutorial");
|
||||
ChildAssociationRef content00CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder00NodeRef,
|
||||
content00QName, content00NodeRef, true, 0);
|
||||
@@ -1139,6 +1213,105 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
true);
|
||||
}
|
||||
|
||||
protected static void addTypeTestData(NodeRef folder00NodeRef,
|
||||
NodeRef rootNodeRef,
|
||||
NodeRef baseFolderNodeRef,
|
||||
Object baseFolderQName,
|
||||
Object folder00QName,
|
||||
Date date1)
|
||||
throws IOException
|
||||
{
|
||||
HashMap<QName, PropertyValue> content00Properties = new HashMap<QName, PropertyValue>();
|
||||
MLTextPropertyValue desc00 = new MLTextPropertyValue();
|
||||
desc00.addValue(Locale.ENGLISH, "Test One");
|
||||
desc00.addValue(Locale.US, "Test 1");
|
||||
content00Properties.put(ContentModel.PROP_DESCRIPTION, desc00);
|
||||
content00Properties.put(ContentModel.PROP_TITLE, desc00);
|
||||
content00Properties.put(ContentModel.PROP_NAME, new StringPropertyValue("Test One"));
|
||||
content00Properties.put(ContentModel.PROP_CREATED,
|
||||
new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date1)));
|
||||
|
||||
StringPropertyValue single = new StringPropertyValue("Un tokenised");
|
||||
content00Properties.put(singleTextUntokenised, single);
|
||||
content00Properties.put(singleTextTokenised, single);
|
||||
content00Properties.put(singleTextBoth, single);
|
||||
MultiPropertyValue multi = new MultiPropertyValue();
|
||||
multi.addValue(single);
|
||||
multi.addValue(new StringPropertyValue("two parts"));
|
||||
content00Properties.put(multipleTextUntokenised, multi);
|
||||
content00Properties.put(multipleTextTokenised, multi);
|
||||
content00Properties.put(multipleTextBoth, multi);
|
||||
content00Properties.put(singleMLTextUntokenised, makeMLText());
|
||||
content00Properties.put(singleMLTextTokenised, makeMLText());
|
||||
content00Properties.put(singleMLTextBoth, makeMLText());
|
||||
content00Properties.put(multipleMLTextUntokenised, makeMLTextMVP());
|
||||
content00Properties.put(multipleMLTextTokenised, makeMLTextMVP());
|
||||
content00Properties.put(multipleMLTextBoth, makeMLTextMVP());
|
||||
StringPropertyValue one = new StringPropertyValue("1");
|
||||
StringPropertyValue two = new StringPropertyValue("2");
|
||||
MultiPropertyValue multiDec = new MultiPropertyValue();
|
||||
multiDec.addValue(one);
|
||||
multiDec.addValue(new StringPropertyValue("1.1"));
|
||||
content00Properties.put(singleFloat, one);
|
||||
content00Properties.put(multipleFloat, multiDec);
|
||||
content00Properties.put(singleDouble, one);
|
||||
content00Properties.put(multipleDouble, multiDec);
|
||||
MultiPropertyValue multiInt = new MultiPropertyValue();
|
||||
multiInt.addValue(one);
|
||||
multiInt.addValue(two);
|
||||
content00Properties.put(singleInteger, one);
|
||||
content00Properties.put(multipleInteger, multiInt);
|
||||
content00Properties.put(singleLong, one);
|
||||
content00Properties.put(multipleLong, multiInt);
|
||||
|
||||
GregorianCalendar cal = new GregorianCalendar();
|
||||
cal.setTime(date1);
|
||||
cal.add(Calendar.DAY_OF_MONTH, -1);
|
||||
Date date0 = cal.getTime();
|
||||
cal.add(Calendar.DAY_OF_MONTH, 2);
|
||||
Date date2 = cal.getTime();
|
||||
StringPropertyValue d0 = new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date0));
|
||||
StringPropertyValue d1 = new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date1));
|
||||
StringPropertyValue d2 = new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, date2));
|
||||
MultiPropertyValue multiDate = new MultiPropertyValue();
|
||||
multiDate.addValue(d1);
|
||||
multiDate.addValue(d2);
|
||||
content00Properties.put(singleDate, d1);
|
||||
content00Properties.put(multipleDate, multiDate);
|
||||
content00Properties.put(singleDatetime, d1);
|
||||
content00Properties.put(multipleDatetime, multiDate);
|
||||
|
||||
StringPropertyValue bTrue = new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, true));
|
||||
StringPropertyValue bFalse = new StringPropertyValue(DefaultTypeConverter.INSTANCE.convert(String.class, false));
|
||||
MultiPropertyValue multiBool = new MultiPropertyValue();
|
||||
multiBool.addValue(bTrue);
|
||||
multiBool.addValue(bFalse);
|
||||
|
||||
content00Properties.put(singleBoolean, bTrue);
|
||||
content00Properties.put(multipleBoolean, multiBool);
|
||||
|
||||
NodeRef content00NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
|
||||
QName content00QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "Test One");
|
||||
ChildAssociationRef content00CAR = new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, folder00NodeRef,
|
||||
content00QName, content00NodeRef, true, 0);
|
||||
addNode(h.getCore(),
|
||||
dataModel,
|
||||
1,
|
||||
100,
|
||||
1,
|
||||
extendedContent,
|
||||
new QName[] { ContentModel.ASPECT_OWNABLE, ContentModel.ASPECT_TITLED },
|
||||
content00Properties,
|
||||
null,
|
||||
"andy",
|
||||
new ChildAssociationRef[] { content00CAR },
|
||||
new NodeRef[] { baseFolderNodeRef, rootNodeRef, folder00NodeRef },
|
||||
new String[] { "/" + baseFolderQName.toString() + "/" + folder00QName.toString() + "/" + content00QName.toString() },
|
||||
content00NodeRef,
|
||||
true);
|
||||
}
|
||||
|
||||
|
||||
public static void loadTestSet() throws IOException {
|
||||
// Root
|
||||
SolrCore core = h.getCore();
|
||||
@@ -1146,13 +1319,14 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
dataModel.setCMDefaultUri();
|
||||
|
||||
NodeRef rootNodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
|
||||
testRootNodeRef = rootNodeRef;
|
||||
addStoreRoot(core, dataModel, rootNodeRef, 1, 1, 1, 1);
|
||||
|
||||
// 1
|
||||
|
||||
NodeRef n01NodeRef = new NodeRef(new StoreRef("workspace", "SpacesStore"), createGUID());
|
||||
|
||||
testNodeRef = n01NodeRef.toString();
|
||||
testNodeRef = n01NodeRef;
|
||||
|
||||
QName n01QName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "one");
|
||||
ChildAssociationRef n01CAR = new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, n01QName,
|
||||
@@ -1834,7 +2008,7 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
}
|
||||
|
||||
Query query = dataModel.getLuceneQueryParser(searchParameters, solrQueryRequest, FTSQueryParser.RerankPhase.SINGLE_PASS).parse(queryString);
|
||||
System.out.println("####### Query ######:"+query);
|
||||
System.out.println("####### Query ######:" + query);
|
||||
TopDocs docs = solrIndexSearcher.search(query, count * 2 + 10);
|
||||
|
||||
if (count != null)
|
||||
@@ -1863,4 +2037,41 @@ public class AlfrescoSolrTestCaseJ4 extends SolrTestCaseJ4 implements SolrTestFi
|
||||
return queryString.replace("\uFFFF", "<Unicode FFFF>");
|
||||
}
|
||||
}
|
||||
|
||||
protected static MLTextPropertyValue makeMLText()
|
||||
{
|
||||
return makeMLText(0);
|
||||
}
|
||||
|
||||
protected static MLTextPropertyValue makeMLText(int position)
|
||||
{
|
||||
MLTextPropertyValue ml = new MLTextPropertyValue();
|
||||
ml.addValue(Locale.ENGLISH, mlOrderable_en[position]);
|
||||
ml.addValue(Locale.FRENCH, mlOrderable_fr[position]);
|
||||
return ml;
|
||||
}
|
||||
|
||||
protected static MultiPropertyValue makeMLTextMVP()
|
||||
{
|
||||
return makeMLTextMVP(0);
|
||||
}
|
||||
|
||||
protected static MultiPropertyValue makeMLTextMVP(int position)
|
||||
{
|
||||
MLTextPropertyValue m1 = new MLTextPropertyValue();
|
||||
m1.addValue(Locale.ENGLISH, mlOrderable_en[position]);
|
||||
MLTextPropertyValue m2 = new MLTextPropertyValue();
|
||||
m2.addValue(Locale.FRENCH, mlOrderable_fr[position]);
|
||||
MultiPropertyValue answer = new MultiPropertyValue();
|
||||
answer.addValue(m1);
|
||||
answer.addValue(m2);
|
||||
return answer;
|
||||
}
|
||||
|
||||
private static String[] mlOrderable_en = new String[] { "AAAA BBBB", "EEEE FFFF", "II", "KK", "MM", "OO", "QQ",
|
||||
"SS", "UU", "AA", "CC" };
|
||||
|
||||
private static String[] mlOrderable_fr = new String[] { "CCCC DDDD", "GGGG HHHH", "JJ", "LL", "NN", "PP", "RR",
|
||||
"TT", "VV", "BB", "DD" };
|
||||
|
||||
}
|
@@ -47,19 +47,19 @@ public class TestAlfrescoCMISQParserPlugin extends AbstractAlfrescoSolrTests imp
|
||||
/************** Test CMIS Parent ID ***********************/
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q", "SELECT cmis:parentId FROM cmis:folder WHERE cmis:parentId = '"
|
||||
+ testBaseFolderNodeRef + "'"), null),
|
||||
+ testCMISBaseFolderNodeRef + "'"), null),
|
||||
"*[count(//doc)=4]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q", "SELECT cmis:parentId FROM cmis:folder WHERE cmis:parentId <> '"
|
||||
+ testBaseFolderNodeRef + "'"), null),
|
||||
+ testCMISBaseFolderNodeRef + "'"), null),
|
||||
"*[count(//doc)=7]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q", "SELECT cmis:parentId FROM cmis:folder WHERE cmis:parentId IN ('"
|
||||
+ testBaseFolderNodeRef + "')"), null),
|
||||
+ testCMISBaseFolderNodeRef + "')"), null),
|
||||
"*[count(//doc)=4]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q", "SELECT cmis:parentId FROM cmis:folder WHERE cmis:parentId NOT IN ('"
|
||||
+ testBaseFolderNodeRef + "')"), null),
|
||||
+ testCMISBaseFolderNodeRef + "')"), null),
|
||||
"*[count(//doc)=7]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q", "SELECT cmis:parentId FROM cmis:folder WHERE cmis:parentId IS NOT NULL"), null),
|
||||
@@ -464,90 +464,118 @@ public class TestAlfrescoCMISQParserPlugin extends AbstractAlfrescoSolrTests imp
|
||||
|
||||
/************** checkCmisObjecId ***********************/
|
||||
|
||||
/*
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId = '"
|
||||
+ folderId + "'", 1, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId <> '"
|
||||
+ folderId + "'", 10, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId = '"
|
||||
+ testCMISFolder00NodeRef + "'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IN ('"
|
||||
+ folderId + "')", 1, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId NOT IN('"
|
||||
+ folderId + "')", 10, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId <> '"
|
||||
+ testCMISFolder00NodeRef + "'"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE IN_FOLDER('" + folderId
|
||||
+ "')", 2, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE IN_TREE ('" + folderId
|
||||
+ "')", 6, null, null, null, null, null, (String) null);
|
||||
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IS NOT NULL", 11, null, null, null,
|
||||
null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IS NULL", 0, null, null, null, null,
|
||||
null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IN ('"
|
||||
+ testCMISFolder00NodeRef + "')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
// ignore folder versions
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId NOT IN('"
|
||||
+ testCMISFolder00NodeRef + "')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId = '"
|
||||
+ folderId + ";1.0'", 1, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId <> '"
|
||||
+ folderId + ";1.0'", 10, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE IN_FOLDER('" + testCMISFolder00NodeRef + "')"), null),
|
||||
"*[count(//doc)=2]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IN ('"
|
||||
+ folderId + ";1.0')", 1, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId NOT IN('"
|
||||
+ folderId + ";1.0')", 10, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE IN_TREE ('" + testCMISFolder00NodeRef+ "')"), null),
|
||||
"*[count(//doc)=6]");
|
||||
|
||||
// testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE IN_FOLDER('" +
|
||||
// folderId + ";1.0')", 2, null, null, null, null, null, (String) null);
|
||||
// testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:folder WHERE IN_TREE ('" +
|
||||
// folderId + ";1.0')", 6, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IS NOT NULL"), null),
|
||||
"*[count(//doc)=11]");
|
||||
|
||||
// Docs
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IS NULL"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
String id = docId;
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId = '"
|
||||
+ testCMISFolder00NodeRef + ";1.0'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId = '"
|
||||
+ id + "'", 1, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId <> '"
|
||||
+ id + "'", 10, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId <> '"
|
||||
+ testCMISFolder00NodeRef + ";1.0'"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IN ('" + id + "')", 1, null, null,
|
||||
null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId NOT IN('" + id + "')", 10, null,
|
||||
null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId IN ('"
|
||||
+ testCMISFolder00NodeRef + ";1.0')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NOT NULL", 11, null, null, null,
|
||||
null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NULL", 0, null, null, null,
|
||||
null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:folder WHERE cmis:objectId NOT IN('"
|
||||
+ testCMISFolder00NodeRef + ";1.0')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
id = docId + ";1.0";
|
||||
String id = testCMISContent00NodeRef.toString();
|
||||
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId = '"
|
||||
+ id + "'", 1, null, null, null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis", "SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId <> '"
|
||||
+ id + "'", 10, null, null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId = '"
|
||||
+ id + "'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IN ('" + id + "')", 1, null, null,
|
||||
null, null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId NOT IN('" + id + "')", 10, null,
|
||||
null, null, null, null, (String) null);
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId <> '"
|
||||
+ id + "'"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NOT NULL", 11, null, null, null,
|
||||
null, null, (String) null);
|
||||
testQueryByHandler(report, core, "/cmis",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NULL", 0, null, null, null,
|
||||
null, null, (String) null);
|
||||
*/
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IN ('" + id + "')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId NOT IN('" + id + "')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NOT NULL"), null),
|
||||
"*[count(//doc)=11]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NULL"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
id = testCMISContent00NodeRef + ";1.0";
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId = '"
|
||||
+ id + "'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId <> '"
|
||||
+ id + "'"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IN ('" + id + "')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId NOT IN('" + id + "')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NOT NULL"), null),
|
||||
"*[count(//doc)=11]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:objectId FROM cmis:document WHERE cmis:objectId IS NULL"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
/************** checkCmisTextPredicates ***********************/
|
||||
|
||||
@@ -692,16 +720,16 @@ public class TestAlfrescoCMISQParserPlugin extends AbstractAlfrescoSolrTests imp
|
||||
/********** checkInTree ***************************/
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:folder WHERE IN_TREE('" + testfolder00NodeRef + "')"), null),
|
||||
"SELECT * FROM cmis:folder WHERE IN_TREE('" + testCMISFolder00NodeRef + "')"), null),
|
||||
"*[count(//doc)=6]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:folder F WHERE IN_TREE(F, '" + testfolder00NodeRef + "')"), null),
|
||||
"SELECT * FROM cmis:folder F WHERE IN_TREE(F, '" + testCMISFolder00NodeRef + "')"), null),
|
||||
"*[count(//doc)=6]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT D.*, O.* FROM cmis:document AS D JOIN cm:ownable AS O ON D.cmis:objectId = O.cmis:objectId WHERE IN_TREE(D, '"
|
||||
+ testBaseFolderNodeRef + "')"), null),
|
||||
+ testCMISBaseFolderNodeRef + "')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
@@ -898,6 +926,40 @@ public class TestAlfrescoCMISQParserPlugin extends AbstractAlfrescoSolrTests imp
|
||||
"select o.*, t.* from ( cm:ownable o join cm:titled t on o.cmis:objectId = t.cmis:objectId JOIN cmis:document AS D ON D.cmis:objectId = o.cmis:objectId ) where o.cm:owner = 'andy' and t.cm:title = 'Alfresco tutorial' and CONTAINS(D, 'jumped') and D.cmis:contentStreamLength <> 2"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
/********* check FTS *************/
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT SCORE()as ONE, SCORE()as TWO, D.* FROM cmis:document D WHERE CONTAINS('\\'zebra\\'')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document WHERE CONTAINS('\\'zebra\\'')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document WHERE CONTAINS('\\'quick\\'')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document WHERE CONTAINS('\\'quick\\'')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document D WHERE CONTAINS(D, 'cmis:name:\\'Tutorial\\'')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmis:name as BOO FROM cmis:document D WHERE CONTAINS('BOO:\\'Tutorial\\'')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document D WHERE CONTAINS('TEXT:\\'zebra\\'')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document D WHERE CONTAINS('d:content:\\'zebra\\'')"), null),
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
/******* checkFTSConnectives ********/
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
@@ -921,10 +983,383 @@ public class TestAlfrescoCMISQParserPlugin extends AbstractAlfrescoSolrTests imp
|
||||
"*[count(//doc)=10]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document where contains('\\'two\\' \\'zebra\\'')"), null),
|
||||
"SELECT * FROM cmis:document where contains('\\'two\\' \\'zebra\\'')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
/******** Load record ************/
|
||||
|
||||
addTypeTestData(testCMISFolder00NodeRef,
|
||||
testCMISRootNodeRef,
|
||||
testCMISBaseFolderNodeRef,
|
||||
testCMISBaseFolderQName,
|
||||
testCMISFolder00QName,
|
||||
testCMISDate00);
|
||||
|
||||
|
||||
/******* check_D_text *******/
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmis:document"), null),
|
||||
"*[count(//doc)=12]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth = 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth <> 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth LIKE 'U_ to%sed'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth NOT LIKE 't__eni%'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth < 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth < 'Un tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth < 'V'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth < 'U'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth <= 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth <= 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth <= 'V'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth <= 'U'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth > 'tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth > 'Un tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth > 'V'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth > 'U'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth >= 'tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth >= 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth >= 'V'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextBoth >= 'U'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised = 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised <> 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised LIKE 'U_ to%sed'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised NOT LIKE 't__eni%'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised < 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised < 'Un tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised < 'V'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised < 'U'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised <= 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised <= 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised <= 'V'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised <= 'U'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised > 'tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised > 'Un tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised > 'V'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised > 'U'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised >= 'tokenised'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised >= 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised >= 'V'"), null),
|
||||
"*[count(//doc)=0]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextUntokenised >= 'U'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextTokenised = 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextTokenised <> 'tokenized'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextTokenised LIKE 'to%sed'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextTokenised NOT LIKE 'Ut__eniz%'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextTokenised IN ('tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE cmistest:singleTextTokenised NOT IN ('tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextBoth as alias FROM cmistest:extendedContent as T WHERE alias = 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextBoth as alias FROM cmistest:extendedContent as T WHERE alias <> 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextBoth as alias FROM cmistest:extendedContent as T WHERE alias LIKE 'U_ to%sed'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextBoth as alias FROM cmistest:extendedContent as T WHERE alias NOT LIKE 't__eni%'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextBoth as alias FROM cmistest:extendedContent as T WHERE alias IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextBoth as alias FROM cmistest:extendedContent as T WHERE alias NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextUntokenised as alias FROM cmistest:extendedContent as T WHERE alias = 'Un tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextUntokenised as alias FROM cmistest:extendedContent as T WHERE alias <> 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextUntokenised as alias FROM cmistest:extendedContent as T WHERE alias LIKE 'U_ to%sed'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextUntokenised as alias FROM cmistest:extendedContent as T WHERE alias NOT LIKE 't__eni%'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextUntokenised as alias FROM cmistest:extendedContent as T WHERE alias IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:singleTextUntokenised as alias FROM cmistest:extendedContent as T WHERE alias NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:singleTextTokenised as alias FROM cmistest:extendedContent WHERE alias = 'tokenised'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:singleTextTokenised as alias FROM cmistest:extendedContent WHERE alias <> 'tokenized'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:singleTextTokenised as alias FROM cmistest:extendedContent WHERE alias LIKE 'to%sed'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:singleTextTokenised as alias FROM cmistest:extendedContent WHERE alias NOT LIKE 'Ut__eniz%'"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:singleTextTokenised as alias FROM cmistest:extendedContent WHERE alias IN ('tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:singleTextTokenised as alias FROM cmistest:extendedContent WHERE alias NOT IN ('tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE 'Un tokenised' = ANY cmistest:multipleTextBoth "), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE ANY cmistest:multipleTextBoth IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE ANY cmistest:multipleTextBoth NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE 'Un tokenised' = ANY cmistest:multipleTextUntokenised "), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE ANY cmistest:multipleTextUntokenised IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE ANY cmistest:multipleTextUntokenised NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE 'tokenised' = ANY cmistest:multipleTextTokenised "), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE ANY cmistest:multipleTextTokenised IN ('tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT * FROM cmistest:extendedContent WHERE ANY cmistest:multipleTextTokenised NOT IN ('tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:multipleTextBoth as alias FROM cmistest:extendedContent WHERE 'Un tokenised' = ANY alias "), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:multipleTextBoth as alias FROM cmistest:extendedContent WHERE ANY alias IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:multipleTextBoth as alias FROM cmistest:extendedContent WHERE ANY alias NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:multipleTextUntokenised alias FROM cmistest:extendedContent WHERE 'Un tokenised' = ANY alias "), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:multipleTextUntokenised alias FROM cmistest:extendedContent WHERE ANY alias IN ('Un tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT cmistest:multipleTextUntokenised alias FROM cmistest:extendedContent WHERE ANY alias NOT IN ('Un tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:multipleTextTokenised alias FROM cmistest:extendedContent T WHERE 'tokenised' = ANY alias "), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:multipleTextTokenised alias FROM cmistest:extendedContent T WHERE ANY alias IN ('tokenised', 'Monkey')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
assertQ(areq(params("rows", "20", "qt", "/cmis", "q",
|
||||
"SELECT T.cmistest:multipleTextTokenised alias FROM cmistest:extendedContent T WHERE ANY alias NOT IN ('tokenized')"), null),
|
||||
"*[count(//doc)=1]");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user