mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged 1.4 to HEAD
svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4228 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4229 . svn resolved root\projects\repository\source\java\org\alfresco\repo\search\impl\lucene\LuceneTest2.java svn resolved root\projects\repository\source\java\org\alfresco\repo\search\impl\lucene\LuceneTest2.java svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4230 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4231 . svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4233 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4234 . git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4632 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -91,7 +91,7 @@ public class LuceneCategoryServiceImpl implements CategoryService
|
|||||||
|
|
||||||
if (!mode.equals(Mode.ALL))
|
if (!mode.equals(Mode.ALL))
|
||||||
{
|
{
|
||||||
luceneQuery.append(mode.equals(Mode.SUB_CATEGORIES) ? "-" : "").append("PATH_WITH_REPEATS:\"");
|
luceneQuery.append(mode.equals(Mode.SUB_CATEGORIES) ? "-" : "").append("PATH:\"");
|
||||||
luceneQuery.append(buildXPath(nodeService.getPath(categoryRef))).append("/");
|
luceneQuery.append(buildXPath(nodeService.getPath(categoryRef))).append("/");
|
||||||
if (depth.equals(Depth.ANY))
|
if (depth.equals(Depth.ANY))
|
||||||
{
|
{
|
||||||
@@ -102,7 +102,7 @@ public class LuceneCategoryServiceImpl implements CategoryService
|
|||||||
|
|
||||||
if (!mode.equals(Mode.MEMBERS))
|
if (!mode.equals(Mode.MEMBERS))
|
||||||
{
|
{
|
||||||
luceneQuery.append("PATH_WITH_REPEATS:\"");
|
luceneQuery.append("PATH:\"");
|
||||||
luceneQuery.append(buildXPath(nodeService.getPath(categoryRef))).append("/");
|
luceneQuery.append(buildXPath(nodeService.getPath(categoryRef))).append("/");
|
||||||
if (depth.equals(Depth.ANY))
|
if (depth.equals(Depth.ANY))
|
||||||
{
|
{
|
||||||
@@ -203,7 +203,7 @@ public class LuceneCategoryServiceImpl implements CategoryService
|
|||||||
ResultSet resultSet = null;
|
ResultSet resultSet = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", "PATH_WITH_REPEATS:\"/" + getPrefix(qname.getNamespaceURI()) + ISO9075.encode(qname.getLocalName()) + "\"",
|
resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", "PATH:\"/" + getPrefix(qname.getNamespaceURI()) + ISO9075.encode(qname.getLocalName()) + "\"",
|
||||||
null, null);
|
null, null);
|
||||||
|
|
||||||
Set<NodeRef> nodeRefs = new HashSet<NodeRef>(resultSet.length());
|
Set<NodeRef> nodeRefs = new HashSet<NodeRef>(resultSet.length());
|
||||||
@@ -228,7 +228,7 @@ public class LuceneCategoryServiceImpl implements CategoryService
|
|||||||
ResultSet resultSet = null;
|
ResultSet resultSet = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", "PATH_WITH_REPEATS:\"//cm:categoryRoot/*\"", null, null);
|
resultSet = indexerAndSearcher.getSearcher(storeRef, false).query(storeRef, "lucene", "PATH:\"//cm:categoryRoot/*\"", null, null);
|
||||||
return resultSetToChildAssocCollection(resultSet);
|
return resultSetToChildAssocCollection(resultSet);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
@@ -568,11 +568,11 @@ public class LuceneCategoryTest2 extends TestCase
|
|||||||
|
|
||||||
|
|
||||||
result = impl.getChildren(catACBase , CategoryService.Mode.MEMBERS, CategoryService.Depth.ANY);
|
result = impl.getChildren(catACBase , CategoryService.Mode.MEMBERS, CategoryService.Depth.ANY);
|
||||||
assertEquals(18, result.size());
|
assertEquals(14, result.size());
|
||||||
|
|
||||||
|
|
||||||
result = impl.getChildren(catACBase , CategoryService.Mode.ALL, CategoryService.Depth.ANY);
|
result = impl.getChildren(catACBase , CategoryService.Mode.ALL, CategoryService.Depth.ANY);
|
||||||
assertEquals(21, result.size());
|
assertEquals(17, result.size());
|
||||||
|
|
||||||
|
|
||||||
result = impl.getChildren(catACBase , CategoryService.Mode.SUB_CATEGORIES, CategoryService.Depth.ANY);
|
result = impl.getChildren(catACBase , CategoryService.Mode.SUB_CATEGORIES, CategoryService.Depth.ANY);
|
||||||
@@ -580,7 +580,7 @@ public class LuceneCategoryTest2 extends TestCase
|
|||||||
|
|
||||||
|
|
||||||
result = impl.getClassifications(rootNodeRef.getStoreRef());
|
result = impl.getClassifications(rootNodeRef.getStoreRef());
|
||||||
assertEquals(4, result.size());
|
assertEquals(2, result.size());
|
||||||
|
|
||||||
|
|
||||||
result = impl.getCategories(rootNodeRef.getStoreRef(), QName.createQName(TEST_NAMESPACE, "AssetClass"), CategoryService.Depth.IMMEDIATE);
|
result = impl.getCategories(rootNodeRef.getStoreRef(), QName.createQName(TEST_NAMESPACE, "AssetClass"), CategoryService.Depth.IMMEDIATE);
|
||||||
@@ -612,10 +612,10 @@ public class LuceneCategoryTest2 extends TestCase
|
|||||||
assertEquals(1, categoryService.getChildren(catACBase , CategoryService.Mode.MEMBERS, CategoryService.Depth.IMMEDIATE).size());
|
assertEquals(1, categoryService.getChildren(catACBase , CategoryService.Mode.MEMBERS, CategoryService.Depth.IMMEDIATE).size());
|
||||||
assertEquals(2, categoryService.getChildren(catACBase , CategoryService.Mode.SUB_CATEGORIES, CategoryService.Depth.IMMEDIATE).size());
|
assertEquals(2, categoryService.getChildren(catACBase , CategoryService.Mode.SUB_CATEGORIES, CategoryService.Depth.IMMEDIATE).size());
|
||||||
assertEquals(3, categoryService.getChildren(catACBase , CategoryService.Mode.ALL, CategoryService.Depth.IMMEDIATE).size());
|
assertEquals(3, categoryService.getChildren(catACBase , CategoryService.Mode.ALL, CategoryService.Depth.IMMEDIATE).size());
|
||||||
assertEquals(18, categoryService.getChildren(catACBase , CategoryService.Mode.MEMBERS, CategoryService.Depth.ANY).size());
|
assertEquals(14, categoryService.getChildren(catACBase , CategoryService.Mode.MEMBERS, CategoryService.Depth.ANY).size());
|
||||||
assertEquals(3, categoryService.getChildren(catACBase , CategoryService.Mode.SUB_CATEGORIES, CategoryService.Depth.ANY).size());
|
assertEquals(3, categoryService.getChildren(catACBase , CategoryService.Mode.SUB_CATEGORIES, CategoryService.Depth.ANY).size());
|
||||||
assertEquals(21, categoryService.getChildren(catACBase , CategoryService.Mode.ALL, CategoryService.Depth.ANY).size());
|
assertEquals(17, categoryService.getChildren(catACBase , CategoryService.Mode.ALL, CategoryService.Depth.ANY).size());
|
||||||
assertEquals(4, categoryService.getClassifications(rootNodeRef.getStoreRef()).size());
|
assertEquals(2, categoryService.getClassifications(rootNodeRef.getStoreRef()).size());
|
||||||
assertEquals(2, categoryService.getCategories(rootNodeRef.getStoreRef(), QName.createQName(TEST_NAMESPACE, "AssetClass"), CategoryService.Depth.IMMEDIATE).size());
|
assertEquals(2, categoryService.getCategories(rootNodeRef.getStoreRef(), QName.createQName(TEST_NAMESPACE, "AssetClass"), CategoryService.Depth.IMMEDIATE).size());
|
||||||
assertEquals(3, categoryService.getCategories(rootNodeRef.getStoreRef(), QName.createQName(TEST_NAMESPACE, "AssetClass"), CategoryService.Depth.ANY).size());
|
assertEquals(3, categoryService.getCategories(rootNodeRef.getStoreRef(), QName.createQName(TEST_NAMESPACE, "AssetClass"), CategoryService.Depth.ANY).size());
|
||||||
assertEquals(6, categoryService.getClassificationAspects().size());
|
assertEquals(6, categoryService.getClassificationAspects().size());
|
||||||
|
@@ -383,6 +383,9 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
|
|||||||
checkAbleToDoWork(false, true);
|
checkAbleToDoWork(false, true);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// The requires a reindex - a delete may remove too much from under this node - that also lives under
|
||||||
|
// other nodes via secondary associations. All the nodes below require reindex.
|
||||||
|
// This is true if the deleted node is via secondary or primary assoc.
|
||||||
delete(relationshipRef.getChildRef());
|
delete(relationshipRef.getChildRef());
|
||||||
}
|
}
|
||||||
catch (LuceneIndexException e)
|
catch (LuceneIndexException e)
|
||||||
@@ -942,6 +945,8 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
|
|||||||
Set<NodeRef> set = deleteImpl(command.nodeRef, false, true, mainReader);
|
Set<NodeRef> set = deleteImpl(command.nodeRef, false, true, mainReader);
|
||||||
// Remove any pending indexes
|
// Remove any pending indexes
|
||||||
forIndex.removeAll(set);
|
forIndex.removeAll(set);
|
||||||
|
// Add the leaf nodes for reindex
|
||||||
|
forIndex.addAll(set);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
commandList.clear();
|
commandList.clear();
|
||||||
@@ -995,24 +1000,38 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
|
|||||||
getDeltaReader();
|
getDeltaReader();
|
||||||
// outputTime("Delete "+nodeRef+" size = "+getDeltaWriter().docCount());
|
// outputTime("Delete "+nodeRef+" size = "+getDeltaWriter().docCount());
|
||||||
Set<NodeRef> refs = new LinkedHashSet<NodeRef>();
|
Set<NodeRef> refs = new LinkedHashSet<NodeRef>();
|
||||||
|
Set<NodeRef> temp = null;
|
||||||
|
|
||||||
refs.addAll(deleteContainerAndBelow(nodeRef, getDeltaReader(), true, cascade));
|
if (forReindex)
|
||||||
refs.addAll(deleteContainerAndBelow(nodeRef, mainReader, false, cascade));
|
|
||||||
|
|
||||||
if (!forReindex)
|
|
||||||
{
|
{
|
||||||
Set<NodeRef> leafrefs = new LinkedHashSet<NodeRef>();
|
temp = deleteContainerAndBelow(nodeRef, getDeltaReader(), true, cascade);
|
||||||
|
refs.addAll(temp);
|
||||||
leafrefs.addAll(deletePrimary(refs, getDeltaReader(), true));
|
deletions.addAll(temp);
|
||||||
leafrefs.addAll(deletePrimary(refs, mainReader, false));
|
temp = deleteContainerAndBelow(nodeRef, mainReader, false, cascade);
|
||||||
|
refs.addAll(temp);
|
||||||
leafrefs.addAll(deleteReference(refs, getDeltaReader(), true));
|
deletions.addAll(temp);
|
||||||
leafrefs.addAll(deleteReference(refs, mainReader, false));
|
|
||||||
|
|
||||||
refs.addAll(leafrefs);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Delete all and reindex as they could be secondary links we have deleted and they need to be updated.
|
||||||
|
// Most will skip any indexing as they will really have gone.
|
||||||
|
temp = deleteContainerAndBelow(nodeRef, getDeltaReader(), true, cascade);
|
||||||
|
deletions.addAll(temp);
|
||||||
|
refs.addAll(temp);
|
||||||
|
temp = deleteContainerAndBelow(nodeRef, mainReader, false, cascade);
|
||||||
|
deletions.addAll(temp);
|
||||||
|
refs.addAll(temp);
|
||||||
|
|
||||||
deletions.addAll(refs);
|
Set<NodeRef> leafrefs = new LinkedHashSet<NodeRef>();
|
||||||
|
leafrefs.addAll(deletePrimary(deletions, getDeltaReader(), true));
|
||||||
|
leafrefs.addAll(deletePrimary(deletions, mainReader, false));
|
||||||
|
// May not have to delete references
|
||||||
|
leafrefs.addAll(deleteReference(deletions, getDeltaReader(), true));
|
||||||
|
leafrefs.addAll(deleteReference(deletions, mainReader, false));
|
||||||
|
refs.addAll(leafrefs);
|
||||||
|
deletions.addAll(leafrefs);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return refs;
|
return refs;
|
||||||
|
|
||||||
|
@@ -58,6 +58,7 @@ import org.alfresco.service.cmr.repository.ContentData;
|
|||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||||
import org.alfresco.service.cmr.repository.MLText;
|
import org.alfresco.service.cmr.repository.MLText;
|
||||||
|
import org.alfresco.service.cmr.repository.InvalidNodeRefException;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.repository.Path;
|
import org.alfresco.service.cmr.repository.Path;
|
||||||
@@ -188,6 +189,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
queryRegisterComponent = (QueryRegisterComponent) ctx.getBean("queryRegisterComponent");
|
queryRegisterComponent = (QueryRegisterComponent) ctx.getBean("queryRegisterComponent");
|
||||||
namespacePrefixResolver = (DictionaryNamespaceComponent) ctx.getBean("namespaceService");
|
namespacePrefixResolver = (DictionaryNamespaceComponent) ctx.getBean("namespaceService");
|
||||||
indexerAndSearcher = (LuceneIndexerAndSearcher) ctx.getBean("luceneIndexerAndSearcherFactory");
|
indexerAndSearcher = (LuceneIndexerAndSearcher) ctx.getBean("luceneIndexerAndSearcherFactory");
|
||||||
|
((LuceneIndexerAndSearcherFactory2)indexerAndSearcher).setMaxAtomicTransformationTime(1000000);
|
||||||
transactionService = (TransactionService) ctx.getBean("transactionComponent");
|
transactionService = (TransactionService) ctx.getBean("transactionComponent");
|
||||||
serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);
|
serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);
|
||||||
|
|
||||||
@@ -389,9 +391,9 @@ public class LuceneTest2 extends TestCase
|
|||||||
super(arg0);
|
super(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void firstTest() throws Exception
|
public void testFirst() throws Exception
|
||||||
{
|
{
|
||||||
testSort();
|
testReadAgainstDelta();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test0() throws Exception
|
public void test0() throws Exception
|
||||||
@@ -402,16 +404,505 @@ public class LuceneTest2 extends TestCase
|
|||||||
luceneFTS.resume();
|
luceneFTS.resume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void testDeleteSecondaryAssocToContainer() throws Exception
|
||||||
|
{
|
||||||
|
luceneFTS.pause();
|
||||||
|
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
runBaseTests();
|
||||||
|
nodeService.removeChild(n2, n13);
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
|
||||||
|
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
||||||
|
searcher.setNodeService(nodeService);
|
||||||
|
searcher.setDictionaryService(dictionaryService);
|
||||||
|
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
|
||||||
|
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:two/namespace:link\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(7, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(6, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher
|
||||||
|
.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
|
||||||
|
assertEquals(4, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null);
|
||||||
|
assertEquals(7, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null);
|
||||||
|
assertEquals(4, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null);
|
||||||
|
assertEquals(15, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null);
|
||||||
|
assertEquals(23, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null);
|
||||||
|
assertEquals(22, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null);
|
||||||
|
assertEquals(22, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null);
|
||||||
|
assertEquals(22, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null);
|
||||||
|
assertEquals(22, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher
|
||||||
|
.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
|
||||||
|
assertEquals(22, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null);
|
||||||
|
assertEquals(6, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null);
|
||||||
|
assertEquals(9, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null);
|
||||||
|
assertEquals(7, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
luceneFTS.resume();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void testDeleteSecondaryAssocToLeaf() throws Exception
|
||||||
|
{
|
||||||
|
luceneFTS.pause();
|
||||||
|
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
runBaseTests();
|
||||||
|
nodeService.removeChild(n12, n14);
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
|
||||||
|
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
||||||
|
searcher.setNodeService(nodeService);
|
||||||
|
searcher.setDictionaryService(dictionaryService);
|
||||||
|
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
|
||||||
|
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:three\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:four\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:eight-0\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:five\"", null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:one\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:two\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:one\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:two\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:six\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:seven\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-1\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-2\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-2\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-1\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:two/namespace:eight-0\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:eight-0\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:nine\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:ten\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:eleven\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null, null);
|
||||||
|
assertEquals(0, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null);
|
||||||
|
assertEquals(6, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(8, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"",
|
||||||
|
null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher
|
||||||
|
.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
|
||||||
|
assertEquals(4, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*\"", null, null);
|
||||||
|
assertEquals(6, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/*/*\"", null, null);
|
||||||
|
assertEquals(8, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/*/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*\"", null, null);
|
||||||
|
assertEquals(4, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null);
|
||||||
|
assertEquals(15, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null);
|
||||||
|
assertEquals(25, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*\"", null, null);
|
||||||
|
assertEquals(24, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/.\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/.\"", null, null);
|
||||||
|
assertEquals(24, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//*/./.\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//*/./.\"", null, null);
|
||||||
|
assertEquals(24, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//./*\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//./*\"", null, null);
|
||||||
|
assertEquals(24, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null);
|
||||||
|
assertEquals(14, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher
|
||||||
|
.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
|
||||||
|
assertEquals(24, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//common\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//*\"", null, null);
|
||||||
|
assertEquals(6, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/one/five//*\"", null, null);
|
||||||
|
assertEquals(8, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one/five//.\"", null, null);
|
||||||
|
assertEquals(7, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//five/nine\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
luceneFTS.resume();
|
||||||
|
}
|
||||||
|
|
||||||
public void testDeleteIssue() throws Exception
|
public void testDeleteIssue() throws Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
testTX.commit();
|
testTX.commit();
|
||||||
|
|
||||||
UserTransaction tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
|
ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
|
||||||
.createQName("{namespace}testFind"), testSuperType);
|
.createQName("{namespace}testFind"), testSuperType);
|
||||||
tx.commit();
|
testTX.commit();
|
||||||
|
|
||||||
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
||||||
searcher.setNodeService(nodeService);
|
searcher.setNodeService(nodeService);
|
||||||
@@ -456,11 +947,13 @@ public class LuceneTest2 extends TestCase
|
|||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
testTX.commit();
|
testTX.commit();
|
||||||
|
|
||||||
UserTransaction tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
|
ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
|
||||||
.createQName("{namespace}testFind"), testSuperType);
|
.createQName("{namespace}testFind"), testSuperType);
|
||||||
tx.commit();
|
testTX.commit();
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
|
||||||
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
||||||
searcher.setNodeService(nodeService);
|
searcher.setNodeService(nodeService);
|
||||||
@@ -471,6 +964,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "QNAME:\"namespace:testFind\"");
|
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "QNAME:\"namespace:testFind\"");
|
||||||
assertEquals(1, results.length());
|
assertEquals(1, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
Thread runner = null;
|
Thread runner = null;
|
||||||
|
|
||||||
@@ -492,12 +986,12 @@ public class LuceneTest2 extends TestCase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UserTransaction tx3 = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx3.begin();
|
testTX.begin();
|
||||||
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "QNAME:\"namespace:testFind\"");
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "QNAME:\"namespace:testFind\"");
|
||||||
assertEquals(1, results.length());
|
assertEquals(1, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
tx3.commit();
|
testTX.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
class Nester extends Thread
|
class Nester extends Thread
|
||||||
@@ -545,7 +1039,6 @@ public class LuceneTest2 extends TestCase
|
|||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
System.exit(12);
|
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
@@ -571,12 +1064,12 @@ public class LuceneTest2 extends TestCase
|
|||||||
final NodeService pns = (NodeService) ctx.getBean("NodeService");
|
final NodeService pns = (NodeService) ctx.getBean("NodeService");
|
||||||
|
|
||||||
testTX.commit();
|
testTX.commit();
|
||||||
UserTransaction tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
buildBaseIndex();
|
buildBaseIndex();
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
tx.commit();
|
testTX.commit();
|
||||||
|
|
||||||
Thread thread = new Thread(new Runnable()
|
Thread thread = new Thread(new Runnable()
|
||||||
{
|
{
|
||||||
@@ -635,8 +1128,8 @@ public class LuceneTest2 extends TestCase
|
|||||||
thread.start();
|
thread.start();
|
||||||
thread.join();
|
thread.join();
|
||||||
|
|
||||||
tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
|
|
||||||
SearchParameters sp = new SearchParameters();
|
SearchParameters sp = new SearchParameters();
|
||||||
sp.addStore(rootNodeRef.getStoreRef());
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
@@ -691,7 +1184,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
assertEquals(15, results.length());
|
assertEquals(15, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
tx.rollback();
|
testTX.rollback();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1146,7 +1639,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis() + "_1", indexerAndSearcher);
|
+ System.currentTimeMillis() + "_1", indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -1169,6 +1662,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis() + "_1", indexerAndSearcher);
|
+ System.currentTimeMillis() + "_1", indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
|
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
@@ -1361,6 +1855,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
{
|
{
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -1513,6 +2008,15 @@ public class LuceneTest2 extends TestCase
|
|||||||
null);
|
null);
|
||||||
assertEquals(1, results.length());
|
assertEquals(1, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:common\"", null,
|
||||||
|
null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
|
||||||
|
"PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:common\"", null, null);
|
||||||
|
assertEquals(1, results.length());
|
||||||
|
results.close();
|
||||||
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
|
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
|
||||||
assertEquals(5, results.length());
|
assertEquals(5, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
@@ -2483,6 +2987,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
+ System.currentTimeMillis(), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -2513,23 +3018,27 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
public void testDeleteLeaf() throws Exception
|
public void testDeleteLeaf() throws Exception
|
||||||
{
|
{
|
||||||
|
testTX.commit();
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
luceneFTS.pause();
|
||||||
|
buildBaseIndex();
|
||||||
|
runBaseTests();
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
|
// Delete
|
||||||
|
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
|
||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
buildBaseIndex();
|
buildBaseIndex();
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
nodeService.deleteNode(n14);
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
testTX.commit();
|
||||||
indexer.setNodeService(nodeService);
|
testTX = transactionService.getUserTransaction();
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
testTX.begin();
|
||||||
indexer.setDictionaryService(dictionaryService);
|
|
||||||
indexer.setLuceneFullTextSearchIndexer(luceneFTS);
|
|
||||||
indexer.setContentService(contentService);
|
|
||||||
|
|
||||||
indexer
|
|
||||||
.deleteNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n13, QName.createQName("{namespace}fourteen"),
|
|
||||||
n14));
|
|
||||||
|
|
||||||
indexer.commit();
|
|
||||||
|
|
||||||
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
||||||
searcher.setNodeService(nodeService);
|
searcher.setNodeService(nodeService);
|
||||||
@@ -2756,6 +3265,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
+ System.currentTimeMillis(), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -2788,6 +3298,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
+ System.currentTimeMillis(), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -2812,9 +3323,13 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
public void testDeleteContainer() throws Exception
|
public void testDeleteContainer() throws Exception
|
||||||
{
|
{
|
||||||
|
testTX.commit();
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
buildBaseIndex();
|
buildBaseIndex();
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
testTX.commit();
|
||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
+ System.currentTimeMillis(), indexerAndSearcher);
|
||||||
@@ -2824,11 +3339,17 @@ public class LuceneTest2 extends TestCase
|
|||||||
indexer.setLuceneFullTextSearchIndexer(luceneFTS);
|
indexer.setLuceneFullTextSearchIndexer(luceneFTS);
|
||||||
indexer.setContentService(contentService);
|
indexer.setContentService(contentService);
|
||||||
|
|
||||||
indexer
|
testTX = transactionService.getUserTransaction();
|
||||||
.deleteNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n12, QName.createQName("{namespace}thirteen"),
|
testTX.begin();
|
||||||
n13));
|
|
||||||
|
|
||||||
indexer.commit();
|
luceneFTS.pause();
|
||||||
|
buildBaseIndex();
|
||||||
|
runBaseTests();
|
||||||
|
|
||||||
|
nodeService.deleteNode(n13);
|
||||||
|
testTX.commit();
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
|
||||||
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
LuceneSearcherImpl2 searcher = LuceneSearcherImpl2.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
|
||||||
searcher.setNodeService(nodeService);
|
searcher.setNodeService(nodeService);
|
||||||
@@ -3056,6 +3577,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
+ System.currentTimeMillis(), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -3299,6 +3821,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(),
|
indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(),
|
||||||
indexerAndSearcher);
|
indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -3343,6 +3866,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis(), indexerAndSearcher);
|
+ System.currentTimeMillis(), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -3412,6 +3936,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -3491,6 +4016,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
@@ -3615,21 +4141,22 @@ public class LuceneTest2 extends TestCase
|
|||||||
public void testReadAgainstDelta() throws Exception
|
public void testReadAgainstDelta() throws Exception
|
||||||
{
|
{
|
||||||
testTX.commit();
|
testTX.commit();
|
||||||
UserTransaction tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
luceneFTS.pause();
|
luceneFTS.pause();
|
||||||
buildBaseIndex();
|
buildBaseIndex();
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
tx.commit();
|
testTX.commit();
|
||||||
|
|
||||||
// Delete
|
// Delete
|
||||||
|
|
||||||
tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
|
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
|
||||||
serviceRegistry.getNodeService().deleteNode(n1);
|
serviceRegistry.getNodeService().deleteNode(n1);
|
||||||
|
assertFalse(serviceRegistry.getNodeService().exists(n13));
|
||||||
|
|
||||||
SearchParameters sp = new SearchParameters();
|
SearchParameters sp = new SearchParameters();
|
||||||
sp.addStore(rootNodeRef.getStoreRef());
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
@@ -3637,7 +4164,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
sp.setQuery("PATH:\"//.\"");
|
sp.setQuery("PATH:\"//.\"");
|
||||||
sp.excludeDataInTheCurrentTransaction(false);
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
ResultSet results = serviceRegistry.getSearchService().query(sp);
|
ResultSet results = serviceRegistry.getSearchService().query(sp);
|
||||||
assertEquals(5, results.length());
|
assertEquals(6, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
@@ -3649,7 +4176,48 @@ public class LuceneTest2 extends TestCase
|
|||||||
assertEquals(15, results.length());
|
assertEquals(15, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
tx.rollback();
|
testTX.rollback();
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.addSort("ID", true);
|
||||||
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(15, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
|
// Delete
|
||||||
|
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
|
||||||
|
runBaseTests();
|
||||||
|
|
||||||
|
serviceRegistry.getNodeService().deleteNode(n2);
|
||||||
|
assertTrue(serviceRegistry.getNodeService().exists(n13));
|
||||||
|
assertFalse(serviceRegistry.getNodeService().exists(n7));
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(12, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.excludeDataInTheCurrentTransaction(true);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(15, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
|
testTX.rollback();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
sp.addStore(rootNodeRef.getStoreRef());
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
@@ -3663,8 +4231,8 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
// Create
|
// Create
|
||||||
|
|
||||||
tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
|
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
|
||||||
@@ -3682,7 +4250,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
assertEquals(16, results.length());
|
assertEquals(16, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
tx.rollback();
|
testTX.rollback();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
sp.addStore(rootNodeRef.getStoreRef());
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
@@ -3696,8 +4264,8 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
// update property
|
// update property
|
||||||
|
|
||||||
tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
|
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
|
||||||
@@ -3725,7 +4293,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
assertEquals(1, results.length());
|
assertEquals(1, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
tx.rollback();
|
testTX.rollback();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
sp.addStore(rootNodeRef.getStoreRef());
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
@@ -3740,8 +4308,8 @@ public class LuceneTest2 extends TestCase
|
|||||||
|
|
||||||
// Add and delete
|
// Add and delete
|
||||||
|
|
||||||
tx = transactionService.getUserTransaction();
|
testTX = transactionService.getUserTransaction();
|
||||||
tx.begin();
|
testTX.begin();
|
||||||
|
|
||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
|
||||||
@@ -3753,7 +4321,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
sp.setQuery("PATH:\"//.\"");
|
sp.setQuery("PATH:\"//.\"");
|
||||||
sp.excludeDataInTheCurrentTransaction(false);
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
results = serviceRegistry.getSearchService().query(sp);
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
assertEquals(5, results.length());
|
assertEquals(6, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
@@ -3774,7 +4342,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
sp.setQuery("PATH:\"//.\"");
|
sp.setQuery("PATH:\"//.\"");
|
||||||
sp.excludeDataInTheCurrentTransaction(false);
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
results = serviceRegistry.getSearchService().query(sp);
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
assertEquals(6, results.length());
|
assertEquals(7, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
@@ -3794,7 +4362,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
sp.setQuery("PATH:\"//.\"");
|
sp.setQuery("PATH:\"//.\"");
|
||||||
sp.excludeDataInTheCurrentTransaction(false);
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
results = serviceRegistry.getSearchService().query(sp);
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
assertEquals(5, results.length());
|
assertEquals(6, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
@@ -3806,7 +4374,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
assertEquals(15, results.length());
|
assertEquals(15, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
tx.rollback();
|
testTX.rollback();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
sp.addStore(rootNodeRef.getStoreRef());
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
@@ -3824,6 +4392,7 @@ public class LuceneTest2 extends TestCase
|
|||||||
{
|
{
|
||||||
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
LuceneIndexerImpl2 indexer = LuceneIndexerImpl2.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
|
||||||
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
+ System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
|
||||||
|
indexer.setMaxAtomicTransformationTime(1000000);
|
||||||
indexer.setNodeService(nodeService);
|
indexer.setNodeService(nodeService);
|
||||||
// indexer.setLuceneIndexLock(luceneIndexLock);
|
// indexer.setLuceneIndexLock(luceneIndexLock);
|
||||||
indexer.setDictionaryService(dictionaryService);
|
indexer.setDictionaryService(dictionaryService);
|
||||||
|
Reference in New Issue
Block a user