diff --git a/config/alfresco/rule-services-context.xml b/config/alfresco/rule-services-context.xml
index 02a5b12361..b8e669c6c5 100644
--- a/config/alfresco/rule-services-context.xml
+++ b/config/alfresco/rule-services-context.xml
@@ -60,7 +60,7 @@
-
+
diff --git a/config/alfresco/workflow/submit_processdefinition.xml b/config/alfresco/workflow/submit_processdefinition.xml
index 424f8c80f2..817896067d 100644
--- a/config/alfresco/workflow/submit_processdefinition.xml
+++ b/config/alfresco/workflow/submit_processdefinition.xml
@@ -234,7 +234,8 @@
+
-
\ No newline at end of file
+
diff --git a/source/java/org/alfresco/repo/avm/AVMScaleTestP.java b/source/java/org/alfresco/repo/avm/AVMScaleTestP.java
new file mode 100644
index 0000000000..3dfb0a2035
--- /dev/null
+++ b/source/java/org/alfresco/repo/avm/AVMScaleTestP.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing
+ */
+
+package org.alfresco.repo.avm;
+
+import org.alfresco.repo.avm.util.BulkLoader;
+import org.alfresco.repo.avm.util.BulkReader;
+
+/**
+ * Test of scaling out to large numbers of files.
+ * @author britt
+ */
+public class AVMScaleTestP extends AVMServiceTestBase
+{
+ public void testScaling()
+ {
+ int n = 4; // The number of BulkLoads to do.
+ int futzCount = 10; // The number of post snapshot modifications to make after each load.
+ String load = "/Users/britt/hibernate-3.1"; // The tree of stuff to load.
+ BulkLoader loader = new BulkLoader();
+ loader.setAvmService(fService);
+ loader.setPropertyCount(5);
+ BulkReader reader = new BulkReader();
+ reader.setAvmService(fService);
+ long lastTime = System.currentTimeMillis();
+ for (int i = 0; i < n; i++)
+ {
+ System.out.println("Round " + (i + 1));
+ fService.createStore("store" + i);
+ loader.recursiveLoad(load, "store" + i + ":/");
+ fService.createSnapshot("store" + i, null, null);
+ long now = System.currentTimeMillis();
+ System.out.println("Load Time: " + (now - lastTime) + "ms");
+ lastTime = now;
+ reader.recursiveFutz("store" + i, "store" + i + ":/", futzCount);
+ now = System.currentTimeMillis();
+ System.out.println("Read Time: " + (now - lastTime) + "ms");
+ System.out.flush();
+ lastTime = now;
+ }
+ }
+}
diff --git a/source/java/org/alfresco/repo/avm/util/BulkLoader.java b/source/java/org/alfresco/repo/avm/util/BulkLoader.java
index eb5db0c6ba..15514f1099 100644
--- a/source/java/org/alfresco/repo/avm/util/BulkLoader.java
+++ b/source/java/org/alfresco/repo/avm/util/BulkLoader.java
@@ -28,9 +28,13 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Map;
+import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.service.cmr.avm.AVMException;
import org.alfresco.service.cmr.avm.AVMService;
+import org.alfresco.service.namespace.QName;
/**
* This takes a filesystem directory path and a repository path and name
@@ -41,6 +45,8 @@ public class BulkLoader
{
private AVMService fService;
+ private int fPropertyCount = 0;
+
/**
* Create a new one.
*/
@@ -57,6 +63,11 @@ public class BulkLoader
fService = service;
}
+ public void setPropertyCount(int propCount)
+ {
+ fPropertyCount = propCount;
+ }
+
/**
* Recursively load content.
* @param fsPath The path in the filesystem.
@@ -64,6 +75,11 @@ public class BulkLoader
*/
public void recursiveLoad(String fsPath, String repPath)
{
+ Map props = new HashMap();
+ for (int i = 0; i < fPropertyCount; i++)
+ {
+ props.put(QName.createQName("silly", "prop" + i), new PropertyValue(null, "I am property " + i));
+ }
File file = new File(fsPath);
String name = file.getName();
if (file.isDirectory())
@@ -71,6 +87,7 @@ public class BulkLoader
fService.createDirectory(repPath, name);
String[] children = file.list();
String baseName = repPath.endsWith("/") ? repPath + name : repPath + "/" + name;
+ fService.setNodeProperties(baseName, props);
for (String child : children)
{
recursiveLoad(fsPath + "/" + child, baseName);
@@ -82,6 +99,7 @@ public class BulkLoader
{
InputStream in = new FileInputStream(file);
OutputStream out = fService.createFile(repPath, name);
+ fService.setNodeProperties(repPath + "/" + name, props);
byte[] buff = new byte[8192];
int read = 0;
while ((read = in.read(buff)) != -1)
diff --git a/source/java/org/alfresco/repo/avm/util/BulkReader.java b/source/java/org/alfresco/repo/avm/util/BulkReader.java
new file mode 100644
index 0000000000..704937abf8
--- /dev/null
+++ b/source/java/org/alfresco/repo/avm/util/BulkReader.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing
+ */
+
+package org.alfresco.repo.avm.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
+import org.alfresco.service.cmr.avm.AVMService;
+
+/**
+ * Testing utility class. Reads a tree recursively.
+ * @author britt
+ */
+public class BulkReader
+{
+ private AVMService fService;
+
+ public BulkReader()
+ {
+ }
+
+ public void setAvmService(AVMService service)
+ {
+ fService = service;
+ }
+
+ public void recursiveFutz(String store, String path, int futz)
+ {
+ List paths = new ArrayList();
+ recursiveRead(path, paths);
+ Random random = new Random(System.currentTimeMillis());
+ int futzed = 0;
+ while (futzed < futz)
+ {
+ String futzPath = paths.get(random.nextInt(paths.size()));
+ AVMNodeDescriptor desc = fService.lookup(-1, futzPath);
+ if (desc.isFile())
+ {
+ try
+ {
+ fService.getFileOutputStream(futzPath).close();
+ }
+ catch (IOException e)
+ {
+ // Do nothing.
+ }
+ futzed++;
+ }
+ }
+ fService.createSnapshot(store, null, null);
+ }
+
+ public void recursiveRead(String path, List paths)
+ {
+ AVMNodeDescriptor desc = fService.lookup(-1, path);
+ paths.add(desc.getPath());
+ if (desc.isFile())
+ {
+ InputStream in = fService.getFileInputStream(desc);
+ try
+ {
+ byte[] buff = new byte[8192];
+ while (in.read(buff) != -1);
+ in.close();
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ return;
+ }
+ Map listing = fService.getDirectoryListing(desc);
+ for (Map.Entry entry : listing.entrySet())
+ {
+ recursiveRead(entry.getValue().getPath(), paths);
+ }
+ }
+}
diff --git a/source/java/org/alfresco/repo/avm/wf/AVMRemoveAllWebappsHandler.java b/source/java/org/alfresco/repo/avm/wf/AVMRemoveAllWebappsHandler.java
new file mode 100644
index 0000000000..13fece4219
--- /dev/null
+++ b/source/java/org/alfresco/repo/avm/wf/AVMRemoveAllWebappsHandler.java
@@ -0,0 +1,112 @@
+/*-----------------------------------------------------------------------------
+* Copyright 2007 Alfresco Inc.
+*
+* This program is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+* for more details.
+*
+* You should have received a copy of the GNU General Public License along
+* with this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. As a special
+* exception to the terms and conditions of version 2.0 of the GPL, you may
+* redistribute this Program in connection with Free/Libre and Open Source
+* Software ("FLOSS") applications as described in Alfresco's FLOSS exception.
+* You should have received a copy of the text describing the FLOSS exception,
+* and it is also available here: http://www.alfresco.com/legal/licensing
+*
+*
+* Author Jon Cox
+* File AVMRemoveAllWebappsHandler.java
+*----------------------------------------------------------------------------*/
+
+package org.alfresco.repo.avm.wf;
+
+import java.util.Map;
+import org.alfresco.config.JNDIConstants;
+import org.alfresco.mbeans.VirtServerRegistry;
+import org.alfresco.repo.avm.AVMNodeConverter;
+import org.alfresco.repo.avm.util.RawServices;
+import org.alfresco.repo.domain.PropertyValue;
+import org.alfresco.repo.workflow.jbpm.JBPMNode;
+import org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler;
+import org.alfresco.service.cmr.avm.AVMService;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.util.Pair;
+import org.apache.log4j.Logger;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.context.ApplicationContext;
+
+/**
+ * Remove all webapps in a sandbox
+ *
+ * @author Jon Cox
+ */
+public class AVMRemoveAllWebappsHandler extends JBPMSpringActionHandler
+{
+ static final long serialVersionUID = 3004374776252613278L;
+
+ private static Logger log =
+ Logger.getLogger(AVMRemoveAllWebappsHandler.class);
+
+ /**
+ * The AVMService instance.
+ */
+ private AVMService fAVMService;
+
+
+ /**
+ * Initialize service references.
+ * @param factory The BeanFactory to get references from.
+ */
+ @Override
+ protected void initialiseHandler(BeanFactory factory)
+ {
+ fAVMService = (AVMService)factory.getBean("AVMService");
+ }
+
+ /**
+ * Do the actual work.
+ * @param executionContext The context to get stuff from.
+ */
+ public void execute(ExecutionContext executionContext) throws Exception
+ {
+ if (log.isDebugEnabled())
+ log.debug("AVMRemoveAllWebappsHandler.execute()");
+
+ // retrieve submitted package
+ NodeRef pkg = ((JBPMNode)executionContext.getContextInstance().
+ getVariable("bpm_package")).getNodeRef();
+
+ Pair pkgPath = AVMNodeConverter.ToAVMVersionPath(pkg);
+
+ Integer version = pkgPath.getFirst();
+ String www_dir = pkgPath.getSecond();
+ String appbase_dir = www_dir + "/" + JNDIConstants.DIR_DEFAULT_APPBASE;
+
+ if (log.isDebugEnabled())
+ {
+ log.debug("version: " + version );
+ log.debug("appbase_dir: " + appbase_dir );
+ }
+
+ ApplicationContext springContext = RawServices.Instance().getContext();
+ VirtServerRegistry vServerRegistry = (VirtServerRegistry)
+ springContext.getBean("VirtServerRegistry");
+
+ if (log.isDebugEnabled())
+ log.debug("Sending JMX message to shut down workflow webapps");
+
+ vServerRegistry.removeAllWebapps( version, appbase_dir, true );
+
+ if (log.isDebugEnabled())
+ log.debug("Sent JMX message to shut down workflow webapps");
+ }
+}
diff --git a/source/java/org/alfresco/repo/avm/wf/AVMSubmitTransactionListener.java b/source/java/org/alfresco/repo/avm/wf/AVMSubmitTransactionListener.java
index 17cc16aa9f..a0dcc59081 100644
--- a/source/java/org/alfresco/repo/avm/wf/AVMSubmitTransactionListener.java
+++ b/source/java/org/alfresco/repo/avm/wf/AVMSubmitTransactionListener.java
@@ -36,6 +36,7 @@ import org.alfresco.repo.transaction.TransactionListenerAdapter;
import org.alfresco.service.cmr.avmsync.AVMDifference;
import org.alfresco.util.VirtServerUtils;
import org.springframework.context.ApplicationContext;
+import org.apache.log4j.Logger;
/**
* Gets callbacks at critical moments within a transaction
@@ -44,8 +45,10 @@ import org.springframework.context.ApplicationContext;
*/
public class AVMSubmitTransactionListener extends TransactionListenerAdapter
{
+ private static Logger log =
+ Logger.getLogger(AVMSubmitTransactionListener.class);
+
public AVMSubmitTransactionListener() { }
-
/**
* Notify virtualization server that webapps in workflow sandbox
@@ -104,22 +107,31 @@ public class AVMSubmitTransactionListener extends TransactionListenerAdapter
requiresUpdate.getDestinationPath(),
true
);
+ if (log.isDebugEnabled())
+ log.debug("JMX update to virt server called after commit");
}
- // Remove virtual weapps from workflow sandbox
-
- if ( ! stagingDiffs.isEmpty() )
- {
- // All the files are from the same workflow sandbox;
- // so to remove all the webapps, you just need to
- // look at the 1st difference
-
- AVMDifference d = stagingDiffs.iterator().next();
- vServerRegistry.removeAllWebapps( d.getSourceVersion(), d.getSourcePath(), true );
- }
-
+ // Remove virtual webapps from workflow sandbox prior to
+ // AVMRemoveWFStoreHandler in the "process-end" clause.
+ // This way, even if the workflow is aborted, the JMX message
+ // to the virt server is still sent. Therefore, no longer
+ // doing this here:
+ //
+ // if ( ! stagingDiffs.isEmpty() )
+ // {
+ // // All the files are from the same workflow sandbox;
+ // // so to remove all the webapps, you just need to
+ // // look at the 1st difference
+ //
+ // AVMDifference d = stagingDiffs.iterator().next();
+ // vServerRegistry.removeAllWebapps( d.getSourceVersion(),
+ // d.getSourcePath(), true );
+ // }
AlfrescoTransactionSupport.unbindResource("staging_diffs");
+
+ if (log.isDebugEnabled())
+ log.debug("staging_diff resource unbound after commit");
}
@@ -130,5 +142,8 @@ public class AVMSubmitTransactionListener extends TransactionListenerAdapter
public void afterRollback()
{
AlfrescoTransactionSupport.unbindResource("staging_diffs");
+
+ if (log.isDebugEnabled())
+ log.debug("staging_diff resource unbound after rollback");
}
}
diff --git a/source/java/org/alfresco/repo/search/MLAnalysisMode.java b/source/java/org/alfresco/repo/search/MLAnalysisMode.java
index 779debfa92..e703276727 100644
--- a/source/java/org/alfresco/repo/search/MLAnalysisMode.java
+++ b/source/java/org/alfresco/repo/search/MLAnalysisMode.java
@@ -1,3 +1,27 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
package org.alfresco.repo.search;
import java.util.Collection;
diff --git a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java
index 458f67b67c..d5211a5eee 100644
--- a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java
+++ b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneSearcherImpl.java
@@ -58,6 +58,7 @@ import org.alfresco.service.namespace.NamespacePrefixResolver;
import org.alfresco.service.namespace.QName;
import org.alfresco.util.ISO9075;
import org.alfresco.util.SearchLanguageConversion;
+import org.apache.log4j.Logger;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermEnum;
@@ -71,12 +72,14 @@ import org.saxpath.SAXPathException;
import com.werken.saxpath.XPathReader;
/**
- * The Lucene implementation of Searcher At the moment we support only lucene based queries. TODO: Support for other query languages
+ * The Lucene implementation of Searcher At the moment we support only lucene based queries. TODO: Support for other
+ * query languages
*
* @author andyh
*/
public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneSearcher
{
+ static Logger s_logger = Logger.getLogger(ADMLuceneSearcherImpl.class);
/**
* Default field name
@@ -100,11 +103,12 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
*/
/**
- * Get an initialised searcher for the store and transaction Normally we do not search against a a store and delta. Currently only gets the searcher against the main index.
+ * Get an initialised searcher for the store and transaction Normally we do not search against a a store and delta.
+ * Currently only gets the searcher against the main index.
*
* @param storeRef
- * @param indexer
- * @param config
+ * @param indexer
+ * @param config
* @return - the searcher implementation
*/
public static ADMLuceneSearcherImpl getSearcher(StoreRef storeRef, LuceneIndexer indexer, LuceneConfig config)
@@ -127,7 +131,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
* Get an intialised searcher for the store. No transactional ammendsmends are searched.
*
* @param storeRef
- * @param config
+ * @param config
* @return the searcher
*/
public static ADMLuceneSearcherImpl getSearcher(StoreRef storeRef, LuceneConfig config)
@@ -163,6 +167,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
/**
* Set the query register
+ *
* @param queryRegister
*/
public void setQueryRegister(QueryRegisterComponent queryRegister)
@@ -170,8 +175,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
this.queryRegister = queryRegister;
}
- public ResultSet query(StoreRef store, String language, String queryString, Path[] queryOptions,
- QueryParameterDefinition[] queryParameterDefinitions) throws SearcherException
+ public ResultSet query(StoreRef store, String language, String queryString, Path[] queryOptions, QueryParameterDefinition[] queryParameterDefinitions) throws SearcherException
{
store = tenantService.getName(store);
@@ -240,11 +244,23 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
defaultOperator = LuceneQueryParser.OR_OPERATOR;
}
- Query query = LuceneQueryParser.parse(parameterisedQueryString, DEFAULT_FIELD,
- new LuceneAnalyser(dictionaryService, searchParameters.getMlAnalaysisMode() == null ? getLuceneConfig().getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode()),
- namespacePrefixResolver, dictionaryService, tenantService, defaultOperator, searchParameters, getLuceneConfig());
-
ClosingIndexSearcher searcher = getSearcher(indexer);
+ Query query = LuceneQueryParser.parse(
+ parameterisedQueryString, DEFAULT_FIELD,
+ new LuceneAnalyser(
+ dictionaryService,
+ searchParameters.getMlAnalaysisMode() == null ? getLuceneConfig().getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode()),
+ namespacePrefixResolver,
+ dictionaryService,
+ tenantService,
+ defaultOperator,
+ searchParameters,
+ getLuceneConfig(),
+ searcher.getIndexReader());
+ if (s_logger.isDebugEnabled())
+ {
+ s_logger.debug("Query is " + query.toString());
+ }
if (searcher == null)
{
// no index return an empty result set
@@ -288,6 +304,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
}
Path[] paths = searchParameters.getAttributePaths().toArray(new Path[0]);
+<<<<<<< .working
return new LuceneResultSet(
hits,
searcher,
@@ -295,6 +312,9 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
tenantService,
paths,
searchParameters);
+=======
+ return new LuceneResultSet(hits, searcher, nodeService, paths, searchParameters);
+>>>>>>> .merge-right.r6367
}
catch (ParseException e)
@@ -328,8 +348,12 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
return new EmptyResultSet();
}
Hits hits = searcher.search(query);
+<<<<<<< .working
return new LuceneResultSet(hits, searcher, nodeService, tenantService, searchParameters.getAttributePaths().toArray(
new Path[0]), searchParameters);
+=======
+ return new LuceneResultSet(hits, searcher, nodeService, searchParameters.getAttributePaths().toArray(new Path[0]), searchParameters);
+>>>>>>> .merge-right.r6367
}
catch (SAXPathException e)
{
@@ -380,8 +404,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
return query(store, language, query, null, null);
}
- public ResultSet query(StoreRef store, String language, String query,
- QueryParameterDefinition[] queryParameterDefintions)
+ public ResultSet query(StoreRef store, String language, String query, QueryParameterDefinition[] queryParameterDefintions)
{
return query(store, language, query, null, queryParameterDefintions);
}
@@ -407,8 +430,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
checkParameters(definition, queryParameters);
- String queryString = parameterise(definition.getQuery(), definition.getQueryParameterMap(), queryParameters,
- definition.getNamespacePrefixResolver());
+ String queryString = parameterise(definition.getQuery(), definition.getQueryParameterMap(), queryParameters, definition.getNamespacePrefixResolver());
return query(store, definition.getLanguage(), queryString, null, null);
}
@@ -420,8 +442,7 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
* @param queryParameters
* @throws QueryParameterisationException
*/
- private void checkParameters(CannedQueryDef definition, QueryParameter[] queryParameters)
- throws QueryParameterisationException
+ private void checkParameters(CannedQueryDef definition, QueryParameter[] queryParameters) throws QueryParameterisationException
{
List missing = new ArrayList();
@@ -461,12 +482,13 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
}
/*
- * Parameterise the query string - not sure if it is required to escape lucence spacials chars The parameters could be used to build the query - the contents of parameters
- * should alread have been escaped if required. ... mush better to provide the parameters and work out what to do TODO: conditional query escapement - may be we should have a
- * parameter type that is not escaped
+ * Parameterise the query string - not sure if it is required to escape lucence spacials chars The parameters could
+ * be used to build the query - the contents of parameters should alread have been escaped if required. ... mush
+ * better to provide the parameters and work out what to do TODO: conditional query escapement - may be we should
+ * have a parameter type that is not escaped
*/
- private String parameterise(String unparameterised, Map map,
- QueryParameter[] queryParameters, NamespacePrefixResolver nspr) throws QueryParameterisationException
+ private String parameterise(String unparameterised, Map map, QueryParameter[] queryParameters, NamespacePrefixResolver nspr)
+ throws QueryParameterisationException
{
Map> valueMap = new HashMap>();
@@ -547,28 +569,29 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
/**
* @see org.alfresco.repo.search.impl.NodeSearcher
*/
- public List selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters,
- NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, String language)
- throws InvalidNodeRefException, XPathException
+ public List selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver,
+ boolean followAllParentLinks, String language) throws InvalidNodeRefException, XPathException
{
NodeSearcher nodeSearcher = new NodeSearcher(nodeService, dictionaryService, this);
+<<<<<<< .working
contextNodeRef = tenantService.getName(contextNodeRef);
return nodeSearcher.selectNodes(contextNodeRef, xpath, parameters, namespacePrefixResolver,
followAllParentLinks, language);
+=======
+ return nodeSearcher.selectNodes(contextNodeRef, xpath, parameters, namespacePrefixResolver, followAllParentLinks, language);
+>>>>>>> .merge-right.r6367
}
/**
* @see org.alfresco.repo.search.impl.NodeSearcher
*/
- public List selectProperties(NodeRef contextNodeRef, String xpath,
- QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver,
+ public List selectProperties(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver,
boolean followAllParentLinks, String language) throws InvalidNodeRefException, XPathException
{
NodeSearcher nodeSearcher = new NodeSearcher(nodeService, dictionaryService, this);
- return nodeSearcher.selectProperties(contextNodeRef, xpath, parameters, namespacePrefixResolver,
- followAllParentLinks, language);
+ return nodeSearcher.selectProperties(contextNodeRef, xpath, parameters, namespacePrefixResolver, followAllParentLinks, language);
}
/**
@@ -582,30 +605,24 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
/**
* @return Returns true if the pattern is present, otherwise false.
*/
- public boolean contains(NodeRef nodeRef, QName propertyQName, String googleLikePattern,
- SearchParameters.Operator defaultOperator)
+ public boolean contains(NodeRef nodeRef, QName propertyQName, String googleLikePattern, SearchParameters.Operator defaultOperator)
{
ResultSet resultSet = null;
try
{
// build Lucene search string specific to the node
StringBuilder sb = new StringBuilder();
- sb.append("+ID:\"").append(nodeRef.toString()).append("\" +(TEXT:(")
- .append(googleLikePattern.toLowerCase()).append(") ");
+ sb.append("+ID:\"").append(nodeRef.toString()).append("\" +(TEXT:(").append(googleLikePattern.toLowerCase()).append(") ");
if (propertyQName != null)
{
- sb.append(" OR @").append(
- LuceneQueryParser.escape(QName.createQName(propertyQName.getNamespaceURI(),
- ISO9075.encode(propertyQName.getLocalName())).toString()));
+ sb.append(" OR @").append(LuceneQueryParser.escape(QName.createQName(propertyQName.getNamespaceURI(), ISO9075.encode(propertyQName.getLocalName())).toString()));
sb.append(":(").append(googleLikePattern.toLowerCase()).append(")");
}
else
{
for (QName key : nodeService.getProperties(nodeRef).keySet())
{
- sb.append(" OR @").append(
- LuceneQueryParser.escape(QName.createQName(key.getNamespaceURI(),
- ISO9075.encode(key.getLocalName())).toString()));
+ sb.append(" OR @").append(LuceneQueryParser.escape(QName.createQName(key.getNamespaceURI(), ISO9075.encode(key.getLocalName())).toString()));
sb.append(":(").append(googleLikePattern.toLowerCase()).append(")");
}
}
@@ -657,10 +674,8 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
}
if (propertyQName != null)
{
- sb.append(" @").append(
- LuceneQueryParser.escape(QName.createQName(propertyQName.getNamespaceURI(),
- ISO9075.encode(propertyQName.getLocalName())).toString())).append(":(").append(pattern)
- .append(")");
+ sb.append(" @").append(LuceneQueryParser.escape(QName.createQName(propertyQName.getNamespaceURI(), ISO9075.encode(propertyQName.getLocalName())).toString()))
+ .append(":(").append(pattern).append(")");
}
sb.append(")");
@@ -691,26 +706,21 @@ public class ADMLuceneSearcherImpl extends AbstractLuceneBase implements LuceneS
}
else
{
- String propertyString = DefaultTypeConverter.INSTANCE.convert(String.class, nodeService.getProperty(
- nodeRef, propertyQName));
+ String propertyString = DefaultTypeConverter.INSTANCE.convert(String.class, nodeService.getProperty(nodeRef, propertyQName));
return propertyString.toLowerCase().matches(pattern);
}
}
}
- public List selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters,
- NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
- throws InvalidNodeRefException, XPathException
- {
- return selectNodes(contextNodeRef, xpath, parameters, namespacePrefixResolver, followAllParentLinks,
- SearchService.LANGUAGE_XPATH);
- }
-
- public List selectProperties(NodeRef contextNodeRef, String xpath,
- QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver,
+ public List selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver,
boolean followAllParentLinks) throws InvalidNodeRefException, XPathException
{
- return selectProperties(contextNodeRef, xpath, parameters, namespacePrefixResolver, followAllParentLinks,
- SearchService.LANGUAGE_XPATH);
+ return selectNodes(contextNodeRef, xpath, parameters, namespacePrefixResolver, followAllParentLinks, SearchService.LANGUAGE_XPATH);
+ }
+
+ public List selectProperties(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver,
+ boolean followAllParentLinks) throws InvalidNodeRefException, XPathException
+ {
+ return selectProperties(contextNodeRef, xpath, parameters, namespacePrefixResolver, followAllParentLinks, SearchService.LANGUAGE_XPATH);
}
}
diff --git a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java
index 262cb4e931..6287be07e8 100644
--- a/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java
+++ b/source/java/org/alfresco/repo/search/impl/lucene/ADMLuceneTest.java
@@ -123,10 +123,11 @@ public class ADMLuceneTest extends TestCase
QName orderLong = QName.createQName(TEST_NAMESPACE, "orderLong");
QName orderInt = QName.createQName(TEST_NAMESPACE, "orderInt");
-
+
QName aspectWithChildren = QName.createQName(TEST_NAMESPACE, "aspectWithChildren");
TransactionService transactionService;
+
RetryingTransactionHelper retryingTransactionHelper;
NodeService nodeService;
@@ -213,7 +214,7 @@ public class ADMLuceneTest extends TestCase
queryRegisterComponent = (QueryRegisterComponent) ctx.getBean("queryRegisterComponent");
namespacePrefixResolver = (DictionaryNamespaceComponent) ctx.getBean("namespaceService");
indexerAndSearcher = (LuceneIndexerAndSearcher) ctx.getBean("admLuceneIndexerAndSearcherFactory");
- ((AbstractLuceneIndexerAndSearcherFactory)indexerAndSearcher).setMaxAtomicTransformationTime(1000000);
+ ((AbstractLuceneIndexerAndSearcherFactory) indexerAndSearcher).setMaxAtomicTransformationTime(1000000);
transactionService = (TransactionService) ctx.getBean("transactionComponent");
retryingTransactionHelper = (RetryingTransactionHelper) ctx.getBean("retryingTransactionHelper");
tenantService = (TenantService) ctx.getBean("tenantService");
@@ -223,7 +224,7 @@ public class ADMLuceneTest extends TestCase
namespaceDao = (NamespaceDAOImpl) ctx.getBean("namespaceDAO");
I18NUtil.setLocale(Locale.UK);
-
+
this.authenticationComponent = (AuthenticationComponent) ctx.getBean("authenticationComponent");
queryRegisterComponent.loadQueryCollection("testQueryRegister.xml");
@@ -246,17 +247,14 @@ public class ADMLuceneTest extends TestCase
StoreRef storeRef = nodeService.createStore(StoreRef.PROTOCOL_WORKSPACE, "Test_" + System.currentTimeMillis());
rootNodeRef = nodeService.getRootNode(storeRef);
- n1 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}one"),
- testSuperType, getOrderProperties()).getChildRef();
+ n1 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}one"), testSuperType, getOrderProperties()).getChildRef();
nodeService.setProperty(n1, QName.createQName("{namespace}property-1"), "ValueOne");
- n2 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}two"),
- testSuperType, getOrderProperties()).getChildRef();
+ n2 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}two"), testSuperType, getOrderProperties()).getChildRef();
nodeService.setProperty(n2, QName.createQName("{namespace}property-1"), "valueone");
nodeService.setProperty(n2, QName.createQName("{namespace}property-2"), "valuetwo");
- n3 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}three"),
- testSuperType, getOrderProperties()).getChildRef();
+ n3 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}three"), testSuperType, getOrderProperties()).getChildRef();
ObjectOutputStream oos;
try
@@ -282,12 +280,9 @@ public class ADMLuceneTest extends TestCase
}
Map testProperties = new HashMap();
- testProperties.put(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic"),
- "TEXT THAT IS INDEXED STORED AND TOKENISED ATOMICALLY KEYONE");
- testProperties.put(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic"),
- "TEXT THAT IS INDEXED STORED AND TOKENISED ATOMICALLY KEYUNSTORED");
- testProperties.put(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic"),
- "TEXT THAT IS INDEXED STORED AND TOKENISED BUT NOT ATOMICALLY KEYTWO");
+ testProperties.put(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic"), "TEXT THAT IS INDEXED STORED AND TOKENISED ATOMICALLY KEYONE");
+ testProperties.put(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic"), "TEXT THAT IS INDEXED STORED AND TOKENISED ATOMICALLY KEYUNSTORED");
+ testProperties.put(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic"), "TEXT THAT IS INDEXED STORED AND TOKENISED BUT NOT ATOMICALLY KEYTWO");
testProperties.put(QName.createQName(TEST_NAMESPACE, "int-ista"), Integer.valueOf(1));
testProperties.put(QName.createQName(TEST_NAMESPACE, "long-ista"), Long.valueOf(2));
testProperties.put(QName.createQName(TEST_NAMESPACE, "float-ista"), Float.valueOf(3.4f));
@@ -325,31 +320,29 @@ public class ADMLuceneTest extends TestCase
// Content multivalued
// - note only one the first value is used from the collection
// - andit has to go in type d:any as d:content is not allowed to be multivalued
-
+
ArrayList contentValues = new ArrayList();
- contentValues.add(new ContentData(null, "text/plain", 0L, "UTF-16", Locale.UK ));
+ contentValues.add(new ContentData(null, "text/plain", 0L, "UTF-16", Locale.UK));
testProperties.put(QName.createQName(TEST_NAMESPACE, "content-many-ista"), contentValues);
-
-
-
+
// MLText multivalued
-
+
MLText mlText1 = new MLText();
mlText1.addValue(Locale.ENGLISH, "cabbage");
mlText1.addValue(Locale.FRENCH, "chou");
-
+
MLText mlText2 = new MLText();
mlText2.addValue(Locale.ENGLISH, "lemur");
mlText2.addValue(new Locale("ru"), "лемур");
-
+
ArrayList mlValues = new ArrayList();
mlValues.add(mlText1);
mlValues.add(mlText2);
-
+
testProperties.put(QName.createQName(TEST_NAMESPACE, "mltext-many-ista"), mlValues);
-
+
// null in multi valued
-
+
ArrayList testList = new ArrayList();
testList.add(null);
testProperties.put(QName.createQName(TEST_NAMESPACE, "nullList"), testList);
@@ -357,44 +350,38 @@ public class ADMLuceneTest extends TestCase
testList2.add("woof");
testList2.add(null);
- n4 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}four"),
- testType, testProperties).getChildRef();
-
+ n4 = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}four"), testType, testProperties).getChildRef();
ContentWriter multiWriter = contentService.getWriter(n4, QName.createQName(TEST_NAMESPACE, "content-many-ista"), true);
- multiWriter.setEncoding( "UTF-16");
+ multiWriter.setEncoding("UTF-16");
multiWriter.setMimetype("text/plain");
multiWriter.putContent("multicontent");
-
nodeService.getProperties(n1);
nodeService.getProperties(n2);
nodeService.getProperties(n3);
nodeService.getProperties(n4);
- n5 = nodeService.createNode(n1, ASSOC_TYPE_QNAME, QName.createQName("{namespace}five"), testSuperType,
- getOrderProperties()).getChildRef();
- n6 = nodeService.createNode(n1, ASSOC_TYPE_QNAME, QName.createQName("{namespace}six"), testSuperType,
- getOrderProperties()).getChildRef();
- n7 = nodeService.createNode(n2, ASSOC_TYPE_QNAME, QName.createQName("{namespace}seven"), testSuperType,
- getOrderProperties()).getChildRef();
- n8 = nodeService.createNode(n2, ASSOC_TYPE_QNAME, QName.createQName("{namespace}eight-2"), testSuperType,
- getOrderProperties()).getChildRef();
- n9 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}nine"), testSuperType,
- getOrderProperties()).getChildRef();
- n10 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}ten"), testSuperType,
- getOrderProperties()).getChildRef();
- n11 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}eleven"), testSuperType,
- getOrderProperties()).getChildRef();
- n12 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}twelve"), testSuperType,
- getOrderProperties()).getChildRef();
- n13 = nodeService.createNode(n12, ASSOC_TYPE_QNAME, QName.createQName("{namespace}thirteen"), testSuperType,
- getOrderProperties()).getChildRef();
+ n5 = nodeService.createNode(n1, ASSOC_TYPE_QNAME, QName.createQName("{namespace}five"), testSuperType, getOrderProperties()).getChildRef();
+ n6 = nodeService.createNode(n1, ASSOC_TYPE_QNAME, QName.createQName("{namespace}six"), testSuperType, getOrderProperties()).getChildRef();
+ n7 = nodeService.createNode(n2, ASSOC_TYPE_QNAME, QName.createQName("{namespace}seven"), testSuperType, getOrderProperties()).getChildRef();
+ n8 = nodeService.createNode(n2, ASSOC_TYPE_QNAME, QName.createQName("{namespace}eight-2"), testSuperType, getOrderProperties()).getChildRef();
+ n9 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}nine"), testSuperType, getOrderProperties()).getChildRef();
+ n10 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}ten"), testSuperType, getOrderProperties()).getChildRef();
+ n11 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}eleven"), testSuperType, getOrderProperties()).getChildRef();
+ n12 = nodeService.createNode(n5, ASSOC_TYPE_QNAME, QName.createQName("{namespace}twelve"), testSuperType, getOrderProperties()).getChildRef();
+ n13 = nodeService.createNode(n12, ASSOC_TYPE_QNAME, QName.createQName("{namespace}thirteen"), testSuperType, getOrderProperties()).getChildRef();
Map properties = new HashMap();
- properties.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK ));
- n14 = nodeService.createNode(n13, ASSOC_TYPE_QNAME, QName.createQName("{namespace}fourteen"),
- ContentModel.TYPE_CONTENT, properties).getChildRef();
+
+ MLText desc1 = new MLText();
+ desc1.addValue(Locale.ENGLISH, "Alfresco tutorial");
+ desc1.addValue(Locale.US, "Alfresco tutorial");
+
+ properties.put(ContentModel.PROP_CONTENT, new ContentData(null, "text/plain", 0L, "UTF-8", Locale.UK));
+ properties.put(ContentModel.PROP_DESCRIPTION, desc1);
+
+ n14 = nodeService.createNode(n13, ASSOC_TYPE_QNAME, QName.createQName("{namespace}fourteen"), ContentModel.TYPE_CONTENT, properties).getChildRef();
// nodeService.addAspect(n14, DictionaryBootstrap.ASPECT_QNAME_CONTENT,
// properties);
@@ -403,8 +390,10 @@ public class ADMLuceneTest extends TestCase
// InputStream is =
// this.getClass().getClassLoader().getResourceAsStream("test.doc");
// writer.putContent(is);
- writer.putContent("The quick brown fox jumped over the lazy dog \u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF");
- //System.out.println("Size is "+writer.getSize());
+ writer.putContent("The quick brown fox jumped over the lazy dog and ate the Alfresco Tutorial, in pdf format, along with the following stop words; a an and are"
+ + " as at be but by for if in into is it no not of on or such that the their then there these they this to was will with: "
+ + " and random charcters \u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF");
+ System.out.println("Size is " + writer.getSize());
nodeService.addChild(rootNodeRef, n8, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}eight-0"));
nodeService.addChild(n1, n8, ASSOC_TYPE_QNAME, QName.createQName("{namespace}eight-1"));
@@ -472,6 +461,7 @@ public class ADMLuceneTest extends TestCase
/**
* Test bug fix
+ *
* @throws Exception
*/
public void testSortIssue_AR_1515__AND__AR_1466() throws Exception
@@ -483,8 +473,7 @@ public class ADMLuceneTest extends TestCase
buildBaseIndex();
runBaseTests();
testTX.commit();
-
-
+
testTX = transactionService.getUserTransaction();
testTX.begin();
@@ -498,7 +487,7 @@ public class ADMLuceneTest extends TestCase
sp.addSort("ID", true);
ResultSet results = serviceRegistry.getSearchService().query(sp);
assertEquals(15, results.length());
-
+
String current = null;
for (ResultSetRow row : results)
{
@@ -514,11 +503,9 @@ public class ADMLuceneTest extends TestCase
current = id;
}
results.close();
-
-
+
assertEquals(5, serviceRegistry.getNodeService().getChildAssocs(rootNodeRef).size());
- serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
- QName.createQName("{namespace}texas"), testSuperType).getChildRef();
+ serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}texas"), testSuperType).getChildRef();
assertEquals(6, serviceRegistry.getNodeService().getChildAssocs(rootNodeRef).size());
sp = new SearchParameters();
@@ -544,10 +531,9 @@ public class ADMLuceneTest extends TestCase
current = id;
}
results.close();
-
+
assertEquals(6, serviceRegistry.getNodeService().getChildAssocs(rootNodeRef).size());
- serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
- QName.createQName("{namespace}texas"), testSuperType).getChildRef();
+ serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}texas"), testSuperType).getChildRef();
assertEquals(7, serviceRegistry.getNodeService().getChildAssocs(rootNodeRef).size());
sp = new SearchParameters();
@@ -575,9 +561,9 @@ public class ADMLuceneTest extends TestCase
results.close();
testTX.rollback();
-
+
}
-
+
/**
* @throws Exception
*/
@@ -589,7 +575,7 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
runBaseTests();
-
+
ADMLuceneSearcherImpl searcher = ADMLuceneSearcherImpl.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
searcher.setNodeService(nodeService);
searcher.setDictionaryService(dictionaryService);
@@ -598,13 +584,13 @@ public class ADMLuceneTest extends TestCase
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + n14 + "\"", null, null);
assertEquals(1, results.length()); // one node
results.close();
-
+
nodeService.addAspect(n14, aspectWithChildren, null);
testTX.commit();
-
+
testTX = transactionService.getUserTransaction();
testTX.begin();
-
+
searcher = ADMLuceneSearcherImpl.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
searcher.setNodeService(nodeService);
searcher.setDictionaryService(dictionaryService);
@@ -614,7 +600,7 @@ public class ADMLuceneTest extends TestCase
assertEquals(10, results.length()); // one node + 9 aux paths to n14
results.close();
}
-
+
/**
* @throws Exception
*/
@@ -634,7 +620,6 @@ public class ADMLuceneTest extends TestCase
luceneFTS.resume();
}
-
/**
* @throws Exception
*/
@@ -676,95 +661,70 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
@@ -773,32 +733,25 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
@@ -822,8 +775,7 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
@@ -859,8 +811,7 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
@@ -887,7 +838,6 @@ public class ADMLuceneTest extends TestCase
luceneFTS.resume();
}
-
/**
* @throws Exception
*/
@@ -929,90 +879,67 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
@@ -1021,28 +948,22 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
@@ -1066,8 +987,7 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
@@ -1103,8 +1023,7 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
@@ -1141,8 +1060,7 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
- ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}testFind"), testSuperType);
+ ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}testFind"), testSuperType);
testTX.commit();
ADMLuceneSearcherImpl searcher = ADMLuceneSearcherImpl.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
@@ -1166,8 +1084,7 @@ public class ADMLuceneTest extends TestCase
HashSet refs = new HashSet();
for (int j = 0; j < i; j++)
{
- ChildAssociationRef test = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}test"), testSuperType);
+ ChildAssociationRef test = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}test"), testSuperType);
refs.add(test);
}
@@ -1199,8 +1116,7 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
- ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}testFind"), testSuperType);
+ ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}testFind"), testSuperType);
testTX.commit();
testTX = transactionService.getUserTransaction();
testTX.begin();
@@ -1216,7 +1132,7 @@ public class ADMLuceneTest extends TestCase
assertEquals(1, results.length());
results.close();
testTX.commit();
-
+
Thread runner = null;
for (int i = 0; i < 20; i++)
@@ -1275,8 +1191,8 @@ public class ADMLuceneTest extends TestCase
HashSet refs = new HashSet();
for (int j = 0; j < i; j++)
{
- ChildAssociationRef test = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
- QName.createQName("{namespace}test_" + getName() + "_" + i + "_" +j), testSuperType);
+ ChildAssociationRef test = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}test_"
+ + getName() + "_" + i + "_" + j), testSuperType);
refs.add(test);
}
@@ -1485,8 +1401,7 @@ public class ADMLuceneTest extends TestCase
double duration = ((double) (end - start)) / 1E6; // duration in ms
double average = duration / (double) count;
System.out.println("Searched for identifier: \n"
- + " count: " + count + "\n" + " average: " + average + " ms/search \n"
- + " a million searches could take: " + (1E6 * average) / 1E3 / 60D + " minutes");
+ + " count: " + count + "\n" + " average: " + average + " ms/search \n" + " a million searches could take: " + (1E6 * average) / 1E3 / 60D + " minutes");
// anything over 10ms is dire
if (average > 10.0)
{
@@ -1626,8 +1541,7 @@ public class ADMLuceneTest extends TestCase
Date date = null;
for (ResultSetRow row : results)
{
- Date currentBun = DefaultTypeConverter.INSTANCE.convert(Date.class, nodeService.getProperty(row
- .getNodeRef(), createdDate));
+ Date currentBun = DefaultTypeConverter.INSTANCE.convert(Date.class, nodeService.getProperty(row.getNodeRef(), createdDate));
// System.out.println(currentBun);
if (date != null)
{
@@ -1647,8 +1561,7 @@ public class ADMLuceneTest extends TestCase
date = null;
for (ResultSetRow row : results)
{
- Date currentBun = DefaultTypeConverter.INSTANCE.convert(Date.class, nodeService.getProperty(row
- .getNodeRef(), createdDate));
+ Date currentBun = DefaultTypeConverter.INSTANCE.convert(Date.class, nodeService.getProperty(row.getNodeRef(), createdDate));
// System.out.println(currentBun);
if ((date != null) && (currentBun != null))
{
@@ -1670,8 +1583,7 @@ public class ADMLuceneTest extends TestCase
Double d = null;
for (ResultSetRow row : results)
{
- Double currentBun = DefaultTypeConverter.INSTANCE.convert(Double.class, nodeService.getProperty(row
- .getNodeRef(), orderDouble));
+ Double currentBun = DefaultTypeConverter.INSTANCE.convert(Double.class, nodeService.getProperty(row.getNodeRef(), orderDouble));
// System.out.println( (currentBun == null ? "null" : NumericEncoder.encode(currentBun))+ " "+currentBun);
if (d != null)
{
@@ -1691,8 +1603,7 @@ public class ADMLuceneTest extends TestCase
d = null;
for (ResultSetRow row : results)
{
- Double currentBun = DefaultTypeConverter.INSTANCE.convert(Double.class, nodeService.getProperty(row
- .getNodeRef(), orderDouble));
+ Double currentBun = DefaultTypeConverter.INSTANCE.convert(Double.class, nodeService.getProperty(row.getNodeRef(), orderDouble));
// System.out.println(currentBun);
if ((d != null) && (currentBun != null))
{
@@ -1714,8 +1625,7 @@ public class ADMLuceneTest extends TestCase
Float f = null;
for (ResultSetRow row : results)
{
- Float currentBun = DefaultTypeConverter.INSTANCE.convert(Float.class, nodeService.getProperty(row
- .getNodeRef(), orderFloat));
+ Float currentBun = DefaultTypeConverter.INSTANCE.convert(Float.class, nodeService.getProperty(row.getNodeRef(), orderFloat));
// System.out.println( (currentBun == null ? "null" : NumericEncoder.encode(currentBun))+ " "+currentBun);
if (f != null)
{
@@ -1735,8 +1645,7 @@ public class ADMLuceneTest extends TestCase
f = null;
for (ResultSetRow row : results)
{
- Float currentBun = DefaultTypeConverter.INSTANCE.convert(Float.class, nodeService.getProperty(row
- .getNodeRef(), orderFloat));
+ Float currentBun = DefaultTypeConverter.INSTANCE.convert(Float.class, nodeService.getProperty(row.getNodeRef(), orderFloat));
// System.out.println(currentBun);
if ((f != null) && (currentBun != null))
{
@@ -1758,8 +1667,7 @@ public class ADMLuceneTest extends TestCase
Long l = null;
for (ResultSetRow row : results)
{
- Long currentBun = DefaultTypeConverter.INSTANCE.convert(Long.class, nodeService.getProperty(row
- .getNodeRef(), orderLong));
+ Long currentBun = DefaultTypeConverter.INSTANCE.convert(Long.class, nodeService.getProperty(row.getNodeRef(), orderLong));
// System.out.println( (currentBun == null ? "null" : NumericEncoder.encode(currentBun))+ " "+currentBun);
if (l != null)
{
@@ -1779,8 +1687,7 @@ public class ADMLuceneTest extends TestCase
l = null;
for (ResultSetRow row : results)
{
- Long currentBun = DefaultTypeConverter.INSTANCE.convert(Long.class, nodeService.getProperty(row
- .getNodeRef(), orderLong));
+ Long currentBun = DefaultTypeConverter.INSTANCE.convert(Long.class, nodeService.getProperty(row.getNodeRef(), orderLong));
// System.out.println(currentBun);
if ((l != null) && (currentBun != null))
{
@@ -1802,8 +1709,7 @@ public class ADMLuceneTest extends TestCase
Integer i = null;
for (ResultSetRow row : results)
{
- Integer currentBun = DefaultTypeConverter.INSTANCE.convert(Integer.class, nodeService.getProperty(row
- .getNodeRef(), orderInt));
+ Integer currentBun = DefaultTypeConverter.INSTANCE.convert(Integer.class, nodeService.getProperty(row.getNodeRef(), orderInt));
// System.out.println( (currentBun == null ? "null" : NumericEncoder.encode(currentBun))+ " "+currentBun);
if (i != null)
{
@@ -1823,8 +1729,7 @@ public class ADMLuceneTest extends TestCase
i = null;
for (ResultSetRow row : results)
{
- Integer currentBun = DefaultTypeConverter.INSTANCE.convert(Integer.class, nodeService.getProperty(row
- .getNodeRef(), orderInt));
+ Integer currentBun = DefaultTypeConverter.INSTANCE.convert(Integer.class, nodeService.getProperty(row.getNodeRef(), orderInt));
// System.out.println(currentBun);
if ((i != null) && (currentBun != null))
{
@@ -1892,8 +1797,7 @@ public class ADMLuceneTest extends TestCase
searcher.setDictionaryService(dictionaryService);
searcher.setTenantService(tenantService);
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null, null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null, null);
results.close();
luceneFTS.resume();
}
@@ -1926,8 +1830,7 @@ public class ADMLuceneTest extends TestCase
public void testNoOp() throws Exception
{
luceneFTS.pause();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis() + "_1", indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_1", indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -1943,16 +1846,15 @@ public class ADMLuceneTest extends TestCase
/**
* Test basic index and search
- * @throws Exception
*
+ * @throws Exception
* @throws InterruptedException
*/
public void testStandAloneIndexerCommit() throws Exception
{
luceneFTS.pause();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis() + "_1", indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_1", indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
@@ -1965,10 +1867,8 @@ public class ADMLuceneTest extends TestCase
// //indexer.clearIndex();
indexer.createNode(new ChildAssociationRef(null, null, null, rootNodeRef));
- indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}one"), n1));
- indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}two"), n2));
+ indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}one"), n1));
+ indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}two"), n2));
indexer.updateNode(n1);
// indexer.deleteNode(new ChildRelationshipRef(rootNode, "path",
// newNode));
@@ -1982,8 +1882,7 @@ public class ADMLuceneTest extends TestCase
searcher.setTenantService(tenantService);
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null, null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-2:\"valuetwo\"", null, null);
simpleResultSetTest(results);
ChildAssocRefResultSet r2 = new ChildAssocRefResultSet(nodeService, results.getNodeRefs(), null, false);
@@ -2012,8 +1911,7 @@ public class ADMLuceneTest extends TestCase
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-1:\"valueone\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@\\{namespace\\}property\\-1:\"valueone\"", null, null);
assertEquals(2, results.length());
assertEquals(n2.getId(), results.getNodeRef(0).getId());
assertEquals(n1.getId(), results.getNodeRef(1).getId());
@@ -2021,8 +1919,7 @@ public class ADMLuceneTest extends TestCase
assertEquals(1.0f, results.getScore(1));
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@namespace\\:property\\-1:\"valueone\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@namespace\\:property\\-1:\"valueone\"", null, null);
assertEquals(2, results.length());
assertEquals(n2.getId(), results.getNodeRef(0).getId());
assertEquals(n1.getId(), results.getNodeRef(1).getId());
@@ -2077,14 +1974,12 @@ public class ADMLuceneTest extends TestCase
assertEquals(1, results.length());
assertEquals(n2.getId(), results.getNodeRef(0).getId());
assertEquals(n2, results.getNodeRef(0));
- assertEquals(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}two"), n2), results.getChildAssocRef(0));
+ assertEquals(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}two"), n2), results.getChildAssocRef(0));
assertEquals(1, results.getChildAssocRefs().size());
assertNotNull(results.getChildAssocRefs());
assertEquals(0, results.getRow(0).getIndex());
assertEquals(1.0f, results.getRow(0).getScore());
- assertEquals(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}two"), n2), results.getRow(0).getChildAssocRef());
+ assertEquals(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}two"), n2), results.getRow(0).getChildAssocRef());
assertEquals(n2, results.getRow(0).getNodeRef());
assertEquals(QName.createQName("{namespace}two"), results.getRow(0).getQName());
assertEquals("valuetwo", results.getRow(0).getValue(QName.createQName("{namespace}property-2")));
@@ -2107,8 +2002,7 @@ public class ADMLuceneTest extends TestCase
searcher.setDictionaryService(dictionaryService);
searcher.setTenantService(tenantService);
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@\\{namespace\\}property-1:valueone",
- null, null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@\\{namespace\\}property-1:valueone", null, null);
try
{
assertEquals(2, results.length());
@@ -2135,8 +2029,7 @@ public class ADMLuceneTest extends TestCase
results.close();
}
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + rootNodeRef.toString() + "\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ID:\"" + rootNodeRef.toString() + "\"", null, null);
try
{
assertEquals(1, results.length());
@@ -2150,8 +2043,8 @@ public class ADMLuceneTest extends TestCase
private void buildBaseIndex()
{
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
+ indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -2161,14 +2054,10 @@ public class ADMLuceneTest extends TestCase
indexer.setContentService(contentService);
// indexer.clearIndex();
indexer.createNode(new ChildAssociationRef(null, null, null, rootNodeRef));
- indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}one"), n1));
- indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}two"), n2));
- indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}three"), n3));
- indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName
- .createQName("{namespace}four"), n4));
+ indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}one"), n1));
+ indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}two"), n2));
+ indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}three"), n3));
+ indexer.createNode(new ChildAssociationRef(ContentModel.ASSOC_CHILDREN, rootNodeRef, QName.createQName("{namespace}four"), n4));
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n1, QName.createQName("{namespace}five"), n5));
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n1, QName.createQName("{namespace}six"), n6));
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName.createQName("{namespace}seven"), n7));
@@ -2177,12 +2066,8 @@ public class ADMLuceneTest extends TestCase
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n5, QName.createQName("{namespace}ten"), n10));
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n5, QName.createQName("{namespace}eleven"), n11));
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n5, QName.createQName("{namespace}twelve"), n12));
- indexer
- .createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n12, QName.createQName("{namespace}thirteen"),
- n13));
- indexer
- .createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n13, QName.createQName("{namespace}fourteen"),
- n14));
+ indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n12, QName.createQName("{namespace}thirteen"), n13));
+ indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, n13, QName.createQName("{namespace}fourteen"), n14));
indexer.prepare();
indexer.commit();
}
@@ -2233,124 +2118,94 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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_WITH_REPEATS:\"/namespace:*/namespace:*\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null);
assertEquals(8, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null);
assertEquals(6, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*/namespace:*\"", null, null);
assertEquals(8, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null);
assertEquals(5, results.length());
results.close();
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
assertEquals(5, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null);
@@ -2377,8 +2232,7 @@ public class ADMLuceneTest extends TestCase
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);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//.\"", null, null);
@@ -2414,8 +2268,7 @@ public class ADMLuceneTest extends TestCase
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);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
assertEquals(25, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null);
@@ -2448,20 +2301,17 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.//.\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/one//thirteen/fourteen//.//.\"", null, null);
assertEquals(1, results.length());
results.close();
// Type search tests
QName qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"1\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"1\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
@@ -2473,8 +2323,7 @@ public class ADMLuceneTest extends TestCase
results.close();
qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"01\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"01\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
@@ -2486,8 +2335,7 @@ public class ADMLuceneTest extends TestCase
results.close();
qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "@" + escapeQName(qname) + ":\"001\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + escapeQName(qname) + ":\"001\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
@@ -2499,227 +2347,190 @@ public class ADMLuceneTest extends TestCase
results.close();
qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 1}", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 1}", null, null);
assertEquals(0, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{1 TO 2}", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{1 TO 2}", null, null);
assertEquals(0, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"2\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"2\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"02\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"02\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"002\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"002\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"0002\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"0002\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[0 TO 2]", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 2}", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{0 TO 2}", null, null);
assertEquals(0, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "long-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{2 TO 3}", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{2 TO 3}", null, null);
assertEquals(0, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.4\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.4\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3 TO 4]", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3 TO 4]", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO 3.4]",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[3.3 TO 3.4]", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{3.3 TO 3.4}",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{3.3 TO 3.4}", null, null);
assertEquals(0, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.40\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"3.40\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.4\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.4\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "float-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.40\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"03.40\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.6\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.6\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.6\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.6\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.60\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"5.60\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.60\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "double-ista")) + ":\"05.60\"", null, null);
assertEquals(1, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "double-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[5.5 TO 5.7]",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":[5.5 TO 5.7]", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
qname = QName.createQName(TEST_NAMESPACE, "double-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.5 TO 5.6}",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.5 TO 5.6}", null, null);
assertEquals(0, results.length());
results.close();
qname = QName.createQName(TEST_NAMESPACE, "double-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.6 TO 5.7}",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":{5.6 TO 5.7}", null, null);
assertEquals(0, results.length());
results.close();
Date date = new Date();
String sDate = CachingDateFormat.getDateFormat().format(date);
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":\"" + sDate + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "date-ista")) + ":\"" + sDate + "\"", null, null);
+ assertEquals(1, results.length());
+ results.close();
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":\"" + sDate + "\"", null, null);
+ assertEquals(1, results.length());
+ results.close();
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "boolean-ista")) + ":\"true\"", null, null);
+ assertEquals(1, results.length());
+ results.close();
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "qname-ista")) + ":\"{wibble}wobble\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "datetime-ista")) + ":\"" + sDate + "\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "category-ista")) + ":\""
+ + DefaultTypeConverter.INSTANCE.convert(String.class, new NodeRef(rootNodeRef.getStoreRef(), "CategoryId")) + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "boolean-ista")) + ":\"true\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "noderef-ista")) + ":\"" + n1 + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "qname-ista")) + ":\"{wibble}wobble\"", null, null);
- assertEquals(1, results.length());
- results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "category-ista"))
- + ":\""
- + DefaultTypeConverter.INSTANCE.convert(String.class, new NodeRef(rootNodeRef.getStoreRef(),
- "CategoryId")) + "\"", null, null);
- assertEquals(1, results.length());
- results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "noderef-ista")) + ":\"" + n1 + "\"", null, null);
- assertEquals(1, results.length());
- results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "path-ista")) + ":\"" + nodeService.getPath(n3) + "\"",
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "path-ista")) + ":\"" + nodeService.getPath(n3) + "\"",
null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista")));
results.close();
// d:any
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"100\"",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"100\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "any-many-ista")));
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"anyValueAsString\"",
- null, null);
+
+ results = searcher
+ .query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"anyValueAsString\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "any-many-ista")));
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"nintc\"",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "any-many-ista")) + ":\"nintc\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "any-many-ista")));
results.close();
-
+
// multi ml text
-
+
QName multimlQName = QName.createQName(TEST_NAMESPACE, "mltext-many-ista");
-
+
SearchParameters sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2728,7 +2539,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2737,7 +2548,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2746,7 +2557,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2755,7 +2566,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2764,7 +2575,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2773,7 +2584,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2782,7 +2593,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2791,7 +2602,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2800,7 +2611,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2810,10 +2621,10 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
// multivalued content in type d:any
- // This should not be indexed as we can not know what to do with content here.
-
+ // This should not be indexed as we can not know what to do with content here.
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -2821,119 +2632,95 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
+
// locale
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":\"en_GB_\"",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":\"en_GB_\"", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista")));
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_GB_",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_GB_", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista")));
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_*",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":en_*", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista")));
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_GB_*",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_GB_*", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista")));
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_gb_*",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(QName.createQName(TEST_NAMESPACE, "locale-ista")) + ":*_gb_*", null, null);
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(QName.createQName(TEST_NAMESPACE, "path-ista")));
results.close();
-
+
// Type
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toString() + "\"", null,
- null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toString() + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\""
- + testType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
- assertEquals(1, results.length());
- results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toString() + "\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\""
- + testType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toString() + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toString() + "\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
+ assertEquals(1, results.length());
+ results.close();
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toString() + "\"", null, null);
assertEquals(13, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\""
- + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TYPE:\"" + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
assertEquals(13, results.length());
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toString() + "\"",
- null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toString() + "\"", null, null);
assertEquals(12, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\""
- + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "EXACTTYPE:\"" + testSuperType.toPrefixString(namespacePrefixResolver) + "\"", null, null);
assertEquals(12, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\""
- + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toString() + "\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\""
- + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "ASPECT:\"" + testAspect.toPrefixString(namespacePrefixResolver) + "\"", null, null);
assertEquals(1, results.length());
results.close();
// Test for AR-384
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox AND TYPE:\""
- + ContentModel.PROP_CONTENT.toString() + "\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox cm\\:name:fox", null, null);
assertEquals(1, results.length());
results.close();
-
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fo AND TYPE:\""
- + ContentModel.PROP_CONTENT.toString() + "\"", null, null);
+
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fo AND TYPE:\"" + ContentModel.PROP_CONTENT.toString() + "\"", null, null);
assertEquals(0, results.length());
results.close();
@@ -2942,11 +2729,11 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"the\"", null, null);
assertEquals(0, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"and\"", null, null);
assertEquals(0, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"over the lazy\"", null, null);
assertEquals(1, results.length());
results.close();
@@ -2954,17 +2741,17 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"over a lazy\"", null, null);
assertEquals(1, results.length());
results.close();
-
+
// Test wildcards in text
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:laz*", null, null);
assertEquals(1, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:laz~", null, null);
assertEquals(1, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:la?y", null, null);
assertEquals(1, results.length());
results.close();
@@ -2972,59 +2759,53 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:?a?y", null, null);
assertEquals(1, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*azy", null, null);
assertEquals(1, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:*az*", null, null);
assertEquals(1, results.length());
results.close();
-
+
// Accents
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"\u00E0\u00EA\u00EE\u00F0\u00F1\u00F6\u00FB\u00FF\"", null, null);
assertEquals(1, results.length());
results.close();
-
+
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"aeidnouy\"", null, null);
assertEquals(1, results.length());
results.close();
-
+
// FTS test
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"fox\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":\"fox\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":\"fox\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".mimetype:\"text/plain\"", null,
- null);
+ results = searcher
+ .query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".mimetype:\"text/plain\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:\"en_GB\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:\"en_GB\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:en_*", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:en_*", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:e*_GB", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".locale:e*_GB", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".size:\"62\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ".size:\"298\"", null, null);
assertEquals(1, results.length());
results.close();
@@ -3042,7 +2823,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3050,23 +2831,619 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
sp.setQuery("TEXT:\"fox\"");
- sp.addTextAttribute("@"+ContentModel.PROP_NAME.toString());
+ sp.addTextAttribute("@" + ContentModel.PROP_NAME.toString());
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
- sp.addTextAttribute("@"+ContentModel.PROP_CONTENT.toString());
+
+ sp.addTextAttribute("@" + ContentModel.PROP_CONTENT.toString());
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ // Wild cards in TEXT phrase
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfresc?\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfres??\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfre???\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfr????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alf?????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"al??????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"a???????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"a??re???\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"?lfresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"??fresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"???resco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"???res?o\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"????e?co\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"????e?c?\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"???????o\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"???re???\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfresc*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfres*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfre*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfr*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alf*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"al*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"a*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"a****\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*lfresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*fresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*resco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*esco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*sco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*co\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*o\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"****lf**sc***\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*??*lf**sc***\"");
+ results = searcher.query(sp);
+ assertEquals(0, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alfresc*tutorial\"");
+ results = searcher.query(sp);
+ assertEquals(0, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"alf* tut*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("TEXT:\"*co *al\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ // Wild cards in ML phrases
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfresc?\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) +":\"alfres??\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfre???\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfr????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alf?????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"al??????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"a???????\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"a??re???\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"?lfresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"??fresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"???resco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"???res?o\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"????e?co\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"????e?c?\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"???????o\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"???re???\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfresc*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfres*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfre*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfr*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alf*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"al*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"a*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"a****\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*lfresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*fresco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*resco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*esco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*sco\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*co\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*o\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"****lf**sc***\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*??*lf**sc***\"");
+ results = searcher.query(sp);
+ assertEquals(0, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alfresc*tutorial\"");
+ results = searcher.query(sp);
+ assertEquals(0, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"alf* tut*\"");
+ results = searcher.query(sp);
+ assertEquals(1, results.length());
+ results.close();
+
+ sp = new SearchParameters();
+ sp.addStore(rootNodeRef.getStoreRef());
+ sp.setLanguage("lucene");
+ sp.setQuery("@" + LuceneQueryParser.escape(ContentModel.PROP_DESCRIPTION.toString()) + ":\"*co *al\"");
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
// ALL and its configuration
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3074,21 +3451,21 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
sp.setQuery("ALL:\"fox\"");
- sp.addAllAttribute("@"+ContentModel.PROP_NAME.toString());
+ sp.addAllAttribute("@" + ContentModel.PROP_NAME.toString());
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
- sp.addAllAttribute("@"+ContentModel.PROP_CONTENT.toString());
+
+ sp.addAllAttribute("@" + ContentModel.PROP_CONTENT.toString());
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3096,9 +3473,9 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
// Search by data type
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3106,7 +3483,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3116,7 +3493,7 @@ public class ADMLuceneTest extends TestCase
results.close();
// locale serach in en_US for en_UK
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3125,7 +3502,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
// Direct ML tests
QName mlQName = QName.createQName(TEST_NAMESPACE, "ml");
@@ -3138,7 +3515,6 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
@@ -3148,7 +3524,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3294,7 +3670,7 @@ public class ADMLuceneTest extends TestCase
results.close();
// Test ISNULL/ISNOTNULL
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3302,7 +3678,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3310,7 +3686,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3318,7 +3694,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(0, results.length());
results.close();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage("lucene");
@@ -3326,9 +3702,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(sp);
assertEquals(1, results.length());
results.close();
-
-
-
+
// Test non field queries
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:fox", null, null);
@@ -3347,46 +3721,38 @@ public class ADMLuceneTest extends TestCase
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fox", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fox", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fo*", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":fo*", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":f*x", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":f*x", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":*ox", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toString()) + ":*ox", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":fox",
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":fox",
null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":fo*",
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":fo*",
null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":f*x",
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":f*x",
null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@"
- + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":*ox",
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "@" + LuceneQueryParser.escape(ContentModel.PROP_CONTENT.toPrefixString(namespacePrefixResolver)) + ":*ox",
null, null);
assertEquals(1, results.length());
results.close();
@@ -3411,18 +3777,14 @@ public class ADMLuceneTest extends TestCase
results.close();
// TODO: should not have a null property type definition
- QueryParameterDefImpl paramDef = new QueryParameterDefImpl(QName.createQName("alf:lemur",
- namespacePrefixResolver), (DataTypeDefinition) null, true, "fox");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"${alf:lemur}\"", null,
- new QueryParameterDefinition[] { paramDef });
+ QueryParameterDefImpl paramDef = new QueryParameterDefImpl(QName.createQName("alf:lemur", namespacePrefixResolver), (DataTypeDefinition) null, true, "fox");
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "TEXT:\"${alf:lemur}\"", null, new QueryParameterDefinition[] { paramDef });
assertEquals(1, results.length());
results.close();
- paramDef = new QueryParameterDefImpl(QName.createQName("alf:intvalue", namespacePrefixResolver),
- (DataTypeDefinition) null, true, "1");
+ paramDef = new QueryParameterDefImpl(QName.createQName("alf:intvalue", namespacePrefixResolver), (DataTypeDefinition) null, true, "1");
qname = QName.createQName(TEST_NAMESPACE, "int-ista");
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(qname) + ":\"${alf:intvalue}\"", null, new QueryParameterDefinition[] { paramDef });
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@" + escapeQName(qname) + ":\"${alf:intvalue}\"", null, new QueryParameterDefinition[] { paramDef });
assertEquals(1, results.length());
assertNotNull(results.getRow(0).getValue(qname));
results.close();
@@ -3508,10 +3870,8 @@ public class ADMLuceneTest extends TestCase
results.close();
luceneFTS.resume();
- QueryParameterDefinition paramDef = new QueryParameterDefImpl(QName.createQName("alf:query",
- namespacePrefixResolver), (DataTypeDefinition) null, true, "//./*");
- results = searcher.query(rootNodeRef.getStoreRef(), "xpath", "${alf:query}", null,
- new QueryParameterDefinition[] { paramDef });
+ QueryParameterDefinition paramDef = new QueryParameterDefImpl(QName.createQName("alf:query", namespacePrefixResolver), (DataTypeDefinition) null, true, "//./*");
+ results = searcher.query(rootNodeRef.getStoreRef(), "xpath", "${alf:query}", null, new QueryParameterDefinition[] { paramDef });
assertEquals(14, results.length());
results.close();
}
@@ -3548,8 +3908,7 @@ public class ADMLuceneTest extends TestCase
runBaseTests();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis(), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -3630,81 +3989,61 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null);
assertEquals(0, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
@@ -3713,28 +4052,22 @@ public class ADMLuceneTest extends TestCase
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);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null);
assertEquals(6, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
assertEquals(3, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null);
@@ -3758,8 +4091,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null);
@@ -3795,8 +4127,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null);
assertEquals(13, results.length());
results.close();
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
assertEquals(16, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null);
@@ -3828,15 +4159,13 @@ public class ADMLuceneTest extends TestCase
*/
public void testAddEscapedChild() throws Exception
{
- String COMPLEX_LOCAL_NAME = "\u0020\u0060\u00ac\u00a6\u0021\"\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\t\n\\\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u007c\u005f\u0078\u0054\u0036\u0035\u0041\u005f";
-
+ String COMPLEX_LOCAL_NAME = "\u0020\u0060\u00ac\u00a6\u0021\"\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\t\n\\\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u007c\u005f\u0078\u0054\u0036\u0035\u0041\u005f";
luceneFTS.pause();
buildBaseIndex();
runBaseTests();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis(), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -3845,8 +4174,7 @@ public class ADMLuceneTest extends TestCase
indexer.setFullTextSearchIndexer(luceneFTS);
indexer.setContentService(contentService);
- ChildAssociationRef car = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}" + COMPLEX_LOCAL_NAME), testSuperType);
+ ChildAssociationRef car = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}" + COMPLEX_LOCAL_NAME), testSuperType);
indexer.createNode(car);
indexer.commit();
@@ -3856,8 +4184,7 @@ public class ADMLuceneTest extends TestCase
searcher.setDictionaryService(dictionaryService);
searcher.setTenantService(tenantService);
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:"
- + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null, null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:" + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null, null);
assertEquals(1, results.length());
results.close();
}
@@ -3873,8 +4200,7 @@ public class ADMLuceneTest extends TestCase
buildBaseIndex();
runBaseTests();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis(), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -3883,8 +4209,7 @@ public class ADMLuceneTest extends TestCase
indexer.setFullTextSearchIndexer(luceneFTS);
indexer.setContentService(contentService);
- ChildAssociationRef car = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}" + COMPLEX_LOCAL_NAME), testSuperType);
+ ChildAssociationRef car = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}" + COMPLEX_LOCAL_NAME), testSuperType);
indexer.createNode(car);
indexer.commit();
@@ -3894,8 +4219,7 @@ public class ADMLuceneTest extends TestCase
searcher.setDictionaryService(dictionaryService);
searcher.setTenantService(tenantService);
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:"
- + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null, null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:" + ISO9075.encode(COMPLEX_LOCAL_NAME) + "\"", null, null);
assertEquals(1, results.length());
results.close();
}
@@ -3913,8 +4237,7 @@ public class ADMLuceneTest extends TestCase
runBaseTests();
testTX.commit();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis(), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
indexer.setDictionaryService(dictionaryService);
@@ -3957,81 +4280,61 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen\"", null, null);
assertEquals(0, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null);
assertEquals(0, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
@@ -4043,28 +4346,22 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"/namespace:*/namespace:*\"", null, null);
assertEquals(5, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:*/namespace:*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*\"", null, null);
assertEquals(3, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*/namespace:five/namespace:*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:*/namespace:nine\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*\"", null, null);
@@ -4091,8 +4388,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/*/namespace:five/*\"", null, null);
assertEquals(4, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/*/namespace:nine\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//.\"", null, null);
@@ -4128,8 +4424,7 @@ public class ADMLuceneTest extends TestCase
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//././*/././.\"", null, null);
assertEquals(12, results.length());
results.close();
- results = searcher
- .query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//././*/././.\"", null, null);
assertEquals(14, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//common\"", null, null);
@@ -4162,8 +4457,7 @@ public class ADMLuceneTest extends TestCase
buildBaseIndex();
runBaseTests();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis(), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -4173,8 +4467,7 @@ public class ADMLuceneTest extends TestCase
indexer.setContentService(contentService);
nodeService.removeChild(n2, n13);
- indexer.deleteChildRelationship(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName
- .createQName("{namespace}link"), n13));
+ indexer.deleteChildRelationship(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName.createQName("{namespace}link"), n13));
indexer.commit();
@@ -4201,81 +4494,61 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve/namespace:thirteen/namespace:fourteen\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:*\"", null, null);
@@ -4284,32 +4557,25 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
+ 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);
@@ -4336,8 +4602,7 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
@@ -4373,8 +4638,7 @@ public class ADMLuceneTest extends TestCase
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);
+ 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);
@@ -4408,8 +4672,7 @@ public class ADMLuceneTest extends TestCase
assertEquals(1, results.length());
results.close();
- indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(),
- indexerAndSearcher);
+ indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -4419,8 +4682,7 @@ public class ADMLuceneTest extends TestCase
indexer.setContentService(contentService);
nodeService.addChild(n2, n13, ASSOC_TYPE_QNAME, QName.createQName("{namespace}link"));
- indexer.createChildRelationship(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName
- .createQName("{namespace}link"), n13));
+ indexer.createChildRelationship(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName.createQName("{namespace}link"), n13));
indexer.commit();
@@ -4443,23 +4705,19 @@ public class ADMLuceneTest extends TestCase
searcher.setTenantService(tenantService);
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:link//.\"", null,
- null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:link//.\"", null, null);
assertEquals(2, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:link//.\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:link//.\"", null, null);
assertEquals(3, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null, null);
assertEquals(0, results.length());
results.close();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis(), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis(), indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -4471,9 +4729,8 @@ public class ADMLuceneTest extends TestCase
nodeService.removeChild(n2, n13);
nodeService.addChild(n2, n13, ASSOC_TYPE_QNAME, QName.createQName("{namespace}renamed_link"));
- indexer.updateChildRelationship(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName.createQName("namespace",
- "link"), n13), new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName.createQName("namespace",
- "renamed_link"), n13));
+ indexer.updateChildRelationship(new ChildAssociationRef(ASSOC_TYPE_QNAME, n2, QName.createQName("namespace", "link"), n13), new ChildAssociationRef(ASSOC_TYPE_QNAME, n2,
+ QName.createQName("namespace", "renamed_link"), n13));
indexer.commit();
@@ -4488,12 +4745,10 @@ public class ADMLuceneTest extends TestCase
assertEquals(0, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null,
- null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"//namespace:renamed_link//.\"", null, null);
assertEquals(2, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
- "PATH_WITH_REPEATS:\"//namespace:renamed_link//.\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH_WITH_REPEATS:\"//namespace:renamed_link//.\"", null, null);
assertEquals(3, results.length());
results.close();
luceneFTS.resume();
@@ -4515,27 +4770,24 @@ public class ADMLuceneTest extends TestCase
searcher.setTenantService(tenantService);
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic"))
- + ":\"KEYONE\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"KEYONE\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic"))
- + ":\"KEYUNSTORED\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic"))
- + ":\"KEYTWO\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"KEYTWO\"", null, null);
assertEquals(0, results.length());
results.close();
// Do index
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
+ indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -4553,20 +4805,17 @@ public class ADMLuceneTest extends TestCase
searcher.setTenantService(tenantService);
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic"))
- + ":\"keyone\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"keyone\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic"))
- + ":\"keytwo\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"keytwo\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic"))
- + ":\"keyunstored\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"keyunstored\"", null, null);
assertEquals(1, results.length());
results.close();
@@ -4590,20 +4839,17 @@ public class ADMLuceneTest extends TestCase
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic"))
- + ":\"KEYONE\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"KEYONE\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic"))
- + ":\"KEYUNSTORED\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic"))
- + ":\"KEYTWO\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"KEYTWO\"", null, null);
assertEquals(0, results.length());
results.close();
@@ -4616,13 +4862,12 @@ public class ADMLuceneTest extends TestCase
searcher.setNamespacePrefixResolver(getNamespacePrefixReolsver("namespace"));
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic"))
- + ":\"keyone\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-atomic")) + ":\"keyone\"", null, null);
assertEquals(1, results.length());
results.close();
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
+ indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -4643,14 +4888,12 @@ public class ADMLuceneTest extends TestCase
Thread.sleep(35000);
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic"))
- + ":\"keytwo\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-stored-tokenised-nonatomic")) + ":\"keytwo\"", null, null);
assertEquals(1, results.length());
results.close();
results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "\\@"
- + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic"))
- + ":\"KEYUNSTORED\"", null, null);
+ + escapeQName(QName.createQName(TEST_NAMESPACE, "text-indexed-unstored-tokenised-atomic")) + ":\"KEYUNSTORED\"", null, null);
assertEquals(1, results.length());
results.close();
@@ -4677,22 +4920,17 @@ public class ADMLuceneTest extends TestCase
searcher.setDictionaryService(dictionaryService);
searcher.setTenantService(tenantService);
- ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PARENT:\""
- + rootNodeRef.toString() + "\"", null, null);
+ ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PARENT:\"" + rootNodeRef.toString() + "\"", null, null);
assertEquals(5, results.length());
results.close();
- results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PARENT:\""
- + rootNodeRef.toString() + "\" +QNAME:\"one\"", null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "+PARENT:\"" + rootNodeRef.toString() + "\" +QNAME:\"one\"", null, null);
assertEquals(1, results.length());
results.close();
- results = searcher
- .query(
- rootNodeRef.getStoreRef(),
- "lucene",
- "( +TYPE:\"{http://www.alfresco.org/model/content/1.0}content\" +@\\{http\\://www.alfresco.org/model/content/1.0\\}name:\"content woof\") OR TEXT:\"content\"",
- null, null);
+ results = searcher.query(rootNodeRef.getStoreRef(), "lucene",
+ "( +TYPE:\"{http://www.alfresco.org/model/content/1.0}content\" +@\\{http\\://www.alfresco.org/model/content/1.0\\}name:\"content woof\") OR TEXT:\"content\"",
+ null, null);
luceneFTS.resume();
}
@@ -4715,8 +4953,7 @@ public class ADMLuceneTest extends TestCase
testTX.commit();
UserTransaction tx = transactionService.getUserTransaction();
tx.begin();
- ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}testFind"), testSuperType);
+ ChildAssociationRef testFind = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}testFind"), testSuperType);
tx.commit();
ADMLuceneSearcherImpl searcher = ADMLuceneSearcherImpl.getSearcher(rootNodeRef.getStoreRef(), indexerAndSearcher);
@@ -4734,8 +4971,7 @@ public class ADMLuceneTest extends TestCase
{
UserTransaction tx1 = transactionService.getUserTransaction();
tx1.begin();
- ChildAssociationRef test = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName
- .createQName("{namespace}test"), testSuperType);
+ ChildAssociationRef test = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}test"), testSuperType);
tx1.commit();
UserTransaction tx2 = transactionService.getUserTransaction();
@@ -4752,18 +4988,18 @@ public class ADMLuceneTest extends TestCase
tx3.commit();
}
-// public void testMany() throws Exception
-// {
-// for(int i = 0; i < 100; i++)
-// {
-// testReadAgainstDelta();
-// System.out.println("At "+i);
-// testTX.rollback();
-// testTX = transactionService.getUserTransaction();
-// testTX.begin();
-// }
-// }
-
+ // public void testMany() throws Exception
+ // {
+ // for(int i = 0; i < 100; i++)
+ // {
+ // testReadAgainstDelta();
+ // System.out.println("At "+i);
+ // testTX.rollback();
+ // testTX = transactionService.getUserTransaction();
+ // testTX.begin();
+ // }
+ // }
+
/**
* @throws Exception
*/
@@ -4809,7 +5045,7 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
@@ -4821,7 +5057,7 @@ public class ADMLuceneTest extends TestCase
results.close();
testTX.rollback();
-
+
// Delete
testTX = transactionService.getUserTransaction();
@@ -4856,7 +5092,6 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
-
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
@@ -4868,7 +5103,7 @@ public class ADMLuceneTest extends TestCase
results.close();
testTX.rollback();
-
+
// Create
testTX = transactionService.getUserTransaction();
@@ -4877,8 +5112,7 @@ public class ADMLuceneTest extends TestCase
runBaseTests();
assertEquals(5, serviceRegistry.getNodeService().getChildAssocs(rootNodeRef).size());
- serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
- QName.createQName("{namespace}texas"), testSuperType).getChildRef();
+ serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}texas"), testSuperType).getChildRef();
assertEquals(6, serviceRegistry.getNodeService().getChildAssocs(rootNodeRef).size());
sp = new SearchParameters();
@@ -4894,7 +5128,7 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
@@ -4906,7 +5140,7 @@ public class ADMLuceneTest extends TestCase
results.close();
testTX.rollback();
-
+
// update property
testTX = transactionService.getUserTransaction();
@@ -4939,7 +5173,6 @@ public class ADMLuceneTest extends TestCase
results.close();
testTX.rollback();
-
testTX = transactionService.getUserTransaction();
testTX.begin();
@@ -4954,7 +5187,7 @@ public class ADMLuceneTest extends TestCase
assertEquals(2, results.length());
results.close();
-
+
testTX.rollback();
// Add and delete
@@ -4984,8 +5217,7 @@ public class ADMLuceneTest extends TestCase
assertEquals(15, results.length());
results.close();
- NodeRef created = serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
- QName.createQName("{namespace}texas"), testSuperType).getChildRef();
+ NodeRef created = serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName("{namespace}texas"), testSuperType).getChildRef();
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
@@ -5029,7 +5261,7 @@ public class ADMLuceneTest extends TestCase
testTX = transactionService.getUserTransaction();
testTX.begin();
-
+
sp = new SearchParameters();
sp.addStore(rootNodeRef.getStoreRef());
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
@@ -5044,8 +5276,8 @@ public class ADMLuceneTest extends TestCase
private void runPerformanceTest(double time, boolean clear)
{
- ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta"
- + System.currentTimeMillis() + "_" + (new Random().nextInt()), indexerAndSearcher);
+ ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
+ indexerAndSearcher);
indexer.setMaxAtomicTransformationTime(1000000);
indexer.setNodeService(nodeService);
// indexer.setLuceneIndexLock(luceneIndexLock);
@@ -5073,8 +5305,7 @@ public class ADMLuceneTest extends TestCase
}
QName qname = QName.createQName("{namespace}a_" + i);
- NodeRef ref = nodeService.createNode(rootNodeRef, ASSOC_TYPE_QNAME, qname, ContentModel.TYPE_CONTAINER)
- .getChildRef();
+ NodeRef ref = nodeService.createNode(rootNodeRef, ASSOC_TYPE_QNAME, qname, ContentModel.TYPE_CONTAINER).getChildRef();
indexer.createNode(new ChildAssociationRef(ASSOC_TYPE_QNAME, rootNodeRef, qname, ref));
}
@@ -5122,10 +5353,9 @@ public class ADMLuceneTest extends TestCase
// test.dictionaryService.getType(test.nodeService.getType(test.rootNodeRef)).getDefaultAspects();
}
-
+
/**
* @author andyh
- *
*/
public static class UnknownDataType implements Serializable
{
@@ -5134,6 +5364,6 @@ public class ADMLuceneTest extends TestCase
*
*/
private static final long serialVersionUID = -6729690518573349055L;
-
+
}
}
diff --git a/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java b/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java
index 6ef4a59119..1b576956bf 100644
--- a/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java
+++ b/source/java/org/alfresco/repo/search/impl/lucene/LuceneQueryParser.java
@@ -29,10 +29,13 @@ import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Set;
+import java.util.Vector;
import org.alfresco.i18n.I18NUtil;
import org.alfresco.repo.search.MLAnalysisMode;
@@ -55,11 +58,17 @@ import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
+import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.MultiPhraseQuery;
+import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.RangeQuery;
import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.WildcardQuery;
+import org.apache.lucene.search.WildcardTermEnum;
import org.apache.lucene.search.BooleanClause.Occur;
import org.saxpath.SAXPathException;
@@ -79,6 +88,8 @@ public class LuceneQueryParser extends QueryParser
private LuceneConfig config;
+ private IndexReader indexReader;
+
/**
* Parses a query string, returning a {@link org.apache.lucene.search.Query}.
*
@@ -94,7 +105,7 @@ public class LuceneQueryParser extends QueryParser
*/
static public Query parse(String query, String field, Analyzer analyzer,
NamespacePrefixResolver namespacePrefixResolver, DictionaryService dictionaryService, TenantService tenantService,
- Operator defaultOperator, SearchParameters searchParameters, LuceneConfig config) throws ParseException
+ Operator defaultOperator, SearchParameters searchParameters, LuceneConfig config, IndexReader indexReader) throws ParseException
{
if (s_logger.isDebugEnabled())
{
@@ -107,6 +118,7 @@ public class LuceneQueryParser extends QueryParser
parser.setTenantService(tenantService);
parser.setSearchParameters(searchParameters);
parser.setLuceneConfig(config);
+ parser.setIndexReader(indexReader);
// TODO: Apply locale contstraints at the top level if required for the non ML doc types.
Query result = parser.parse(query);
if (s_logger.isDebugEnabled())
@@ -121,6 +133,11 @@ public class LuceneQueryParser extends QueryParser
this.config = config;
}
+ private void setIndexReader(IndexReader indexReader)
+ {
+ this.indexReader = indexReader;
+ }
+
private void setSearchParameters(SearchParameters searchParameters)
{
this.searchParameters = searchParameters;
@@ -184,8 +201,7 @@ public class LuceneQueryParser extends QueryParser
Set text = searchParameters.getTextAttributes();
if ((text == null) || (text.size() == 0))
{
- Collection contentAttributes = dictionaryService
- .getAllProperties(DataTypeDefinition.CONTENT);
+ Collection contentAttributes = dictionaryService.getAllProperties(DataTypeDefinition.CONTENT);
BooleanQuery query = new BooleanQuery();
for (QName qname : contentAttributes)
{
@@ -294,14 +310,12 @@ public class LuceneQueryParser extends QueryParser
if (colonPosition == -1)
{
// use the default namespace
- target = dictionaryService.getType(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(""), queryText));
+ target = dictionaryService.getType(QName.createQName(namespacePrefixResolver.getNamespaceURI(""), queryText));
}
else
{
// find the prefix
- target = dictionaryService.getType(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(queryText.substring(0, colonPosition)), queryText
+ target = dictionaryService.getType(QName.createQName(namespacePrefixResolver.getNamespaceURI(queryText.substring(0, colonPosition)), queryText
.substring(colonPosition + 1)));
}
}
@@ -316,8 +330,7 @@ public class LuceneQueryParser extends QueryParser
TypeDefinition current = dictionaryService.getType(classRef);
while ((current != null) && !current.getName().equals(targetQName))
{
- current = (current.getParentName() == null) ? null : dictionaryService.getType(current
- .getParentName());
+ current = (current.getParentName() == null) ? null : dictionaryService.getType(current.getParentName());
}
if (current != null)
{
@@ -348,14 +361,12 @@ public class LuceneQueryParser extends QueryParser
if (colonPosition == -1)
{
// use the default namespace
- target = dictionaryService.getType(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(""), queryText));
+ target = dictionaryService.getType(QName.createQName(namespacePrefixResolver.getNamespaceURI(""), queryText));
}
else
{
// find the prefix
- target = dictionaryService.getType(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(queryText.substring(0, colonPosition)), queryText
+ target = dictionaryService.getType(QName.createQName(namespacePrefixResolver.getNamespaceURI(queryText.substring(0, colonPosition)), queryText
.substring(colonPosition + 1)));
}
}
@@ -381,14 +392,12 @@ public class LuceneQueryParser extends QueryParser
if (colonPosition == -1)
{
// use the default namespace
- target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(""), queryText));
+ target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver.getNamespaceURI(""), queryText));
}
else
{
// find the prefix
- target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(queryText.substring(0, colonPosition)), queryText
+ target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver.getNamespaceURI(queryText.substring(0, colonPosition)), queryText
.substring(colonPosition + 1)));
}
}
@@ -400,8 +409,7 @@ public class LuceneQueryParser extends QueryParser
AspectDefinition current = dictionaryService.getAspect(classRef);
while ((current != null) && !current.getName().equals(targetQName))
{
- current = (current.getParentName() == null) ? null : dictionaryService.getAspect(current
- .getParentName());
+ current = (current.getParentName() == null) ? null : dictionaryService.getAspect(current.getParentName());
}
if (current != null)
{
@@ -433,14 +441,12 @@ public class LuceneQueryParser extends QueryParser
if (colonPosition == -1)
{
// use the default namespace
- target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(""), queryText));
+ target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver.getNamespaceURI(""), queryText));
}
else
{
// find the prefix
- target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver
- .getNamespaceURI(queryText.substring(0, colonPosition)), queryText
+ target = dictionaryService.getAspect(QName.createQName(namespacePrefixResolver.getNamespaceURI(queryText.substring(0, colonPosition)), queryText
.substring(colonPosition + 1)));
}
}
@@ -516,7 +522,7 @@ public class LuceneQueryParser extends QueryParser
}
else
{
- return super.getFieldQuery(field, queryText);
+ return getFieldQueryImpl(field, queryText);
}
}
@@ -540,14 +546,13 @@ public class LuceneQueryParser extends QueryParser
}
else
{
- return super.getFieldQuery(field, queryText);
+ return getFieldQueryImpl(field, queryText);
}
}
else if (dictionaryService.getDataType(QName.createQName(expandFieldName(field))) != null)
{
- Collection contentAttributes = dictionaryService.getAllProperties(dictionaryService.getDataType(
- QName.createQName(expandFieldName(field))).getName());
+ Collection contentAttributes = dictionaryService.getAllProperties(dictionaryService.getDataType(QName.createQName(expandFieldName(field))).getName());
BooleanQuery query = new BooleanQuery();
for (QName qname : contentAttributes)
{
@@ -566,7 +571,7 @@ public class LuceneQueryParser extends QueryParser
}
else
{
- return super.getFieldQuery(field, queryText);
+ return getFieldQueryImpl(field, queryText);
}
}
@@ -577,6 +582,542 @@ public class LuceneQueryParser extends QueryParser
}
+ private Query getFieldQueryImpl(String field, String queryText) throws ParseException
+ {
+ // Use the analyzer to get all the tokens, and then build a TermQuery,
+ // PhraseQuery, or nothing based on the term count
+
+ boolean isMlText = false;
+ String testText = queryText;
+ String localeString = null;
+ if (field.startsWith("@"))
+ {
+ String expandedFieldName = expandAttributeFieldName(field);
+ QName propertyQName = QName.createQName(expandedFieldName.substring(1));
+ PropertyDefinition propertyDef = dictionaryService.getProperty(propertyQName);
+ if ((propertyDef != null) && (propertyDef.getDataType().getName().equals(DataTypeDefinition.MLTEXT)))
+ {
+ int position = queryText.indexOf("\u0000", 1);
+ testText = queryText.substring(position + 1);
+ isMlText = true;
+ localeString = queryText.substring(1, position);
+ }
+ }
+
+ TokenStream source = analyzer.tokenStream(field, new StringReader(queryText));
+ ArrayList v = new ArrayList();
+ org.apache.lucene.analysis.Token t;
+ int positionCount = 0;
+ boolean severalTokensAtSamePosition = false;
+
+ while (true)
+ {
+ try
+ {
+ t = source.next();
+ }
+ catch (IOException e)
+ {
+ t = null;
+ }
+ if (t == null)
+ break;
+ v.add(t);
+ if (t.getPositionIncrement() != 0)
+ positionCount += t.getPositionIncrement();
+ else
+ severalTokensAtSamePosition = true;
+ }
+ try
+ {
+ source.close();
+ }
+ catch (IOException e)
+ {
+ // ignore
+ }
+
+ // add any alpha numeric wildcards that have been missed
+ // Fixes most stop word and wild card issues
+
+ for (int index = 0; index < testText.length(); index++)
+ {
+ char current = testText.charAt(index);
+ if ((current == '*') || (current == '?'))
+ {
+ StringBuilder pre = new StringBuilder(10);
+ if (index > 0)
+ {
+ for (int i = index - 1; i >= 0; i--)
+ {
+ char c = testText.charAt(i);
+ if (Character.isLetterOrDigit(c))
+ {
+ boolean found = false;
+ for (int j = 0; j < v.size(); j++)
+ {
+ org.apache.lucene.analysis.Token test = v.get(j);
+ if ((test.startOffset() <= i) && (i < test.endOffset()))
+ {
+ found = true;
+ break;
+ }
+ }
+ if (found)
+ {
+ break;
+ }
+ else
+ {
+ pre.insert(0, c);
+ }
+ }
+ }
+ if (pre.length() > 0)
+ {
+ // Add new token followed by * not given by the tokeniser
+ org.apache.lucene.analysis.Token newToken = new org.apache.lucene.analysis.Token(pre.toString(), index - pre.length(), index, "ALPHANUM");
+ if (isMlText)
+ {
+ Locale locale = I18NUtil.parseLocale(localeString);
+ MLAnalysisMode analysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters
+ .getMlAnalaysisMode();
+ MLTokenDuplicator duplicator = new MLTokenDuplicator(locale, analysisMode);
+ Iterator it = duplicator.buildIterator(newToken);
+ if (it != null)
+ {
+ int count = 0;
+ while (it.hasNext())
+ {
+ v.add(it.next());
+ count++;
+ if(count > 1)
+ {
+ severalTokensAtSamePosition = true;
+ }
+ }
+ }
+ }
+ // content
+ else
+ {
+ v.add(newToken);
+ }
+ }
+ }
+
+ StringBuilder post = new StringBuilder(10);
+ if (index > 0)
+ {
+ for (int i = index + 1; i < testText.length(); i++)
+ {
+ char c = testText.charAt(i);
+ if (Character.isLetterOrDigit(c))
+ {
+ boolean found = false;
+ for (int j = 0; j < v.size(); j++)
+ {
+ org.apache.lucene.analysis.Token test = v.get(j);
+ if ((test.startOffset() <= i) && (i < test.endOffset()))
+ {
+ found = true;
+ break;
+ }
+ }
+ if (found)
+ {
+ break;
+ }
+ else
+ {
+ post.append(c);
+ }
+ }
+ }
+ if (post.length() > 0)
+ {
+ // Add new token followed by * not given by the tokeniser
+ org.apache.lucene.analysis.Token newToken = new org.apache.lucene.analysis.Token(post.toString(), index - post.length(), index, "ALPHANUM");
+ if (isMlText)
+ {
+ Locale locale = I18NUtil.parseLocale(localeString);
+ MLAnalysisMode analysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters
+ .getMlAnalaysisMode();
+ MLTokenDuplicator duplicator = new MLTokenDuplicator(locale, analysisMode);
+ Iterator it = duplicator.buildIterator(newToken);
+ if (it != null)
+ {
+ int count = 0;
+ while (it.hasNext())
+ {
+ v.add(it.next());
+ count++;
+ if(count > 1)
+ {
+ severalTokensAtSamePosition = true;
+ }
+ }
+ }
+ }
+ // content
+ else
+ {
+ v.add(newToken);
+ }
+ }
+ }
+
+ }
+ }
+
+ Collections.sort(v, new Comparator()
+ {
+
+ public int compare(Token o1, Token o2)
+ {
+ int dif = o1.startOffset() - o2.startOffset();
+ if (dif != 0)
+ {
+ return dif;
+ }
+ else
+ {
+ return o2.getPositionIncrement() - o1.getPositionIncrement();
+ }
+ }
+ });
+
+ // Combined * and ? based strings - should redo the tokeniser
+
+ // Assue we only string together tokens for the same postion
+
+ int max = 0;
+ int current = 0;
+ for (org.apache.lucene.analysis.Token c : v)
+ {
+ if (c.getPositionIncrement() == 0)
+ {
+ current++;
+ }
+ else
+ {
+ if (current > max)
+ {
+ max = current;
+ }
+ current = 0;
+ }
+ }
+ if (current > max)
+ {
+ max = current;
+ }
+
+ ArrayList fixed = new ArrayList();
+ for (int repeat = 0; repeat <= max; repeat++)
+ {
+ org.apache.lucene.analysis.Token replace = null;
+ current = 0;
+ for (org.apache.lucene.analysis.Token c : v)
+ {
+ if (c.getPositionIncrement() == 0)
+ {
+ current++;
+ }
+ else
+ {
+ current = 0;
+ }
+
+ if (current == repeat)
+ {
+
+ if (replace == null)
+ {
+ StringBuilder prefix = new StringBuilder();
+ for (int i = c.startOffset() - 1; i >= 0; i--)
+ {
+ char test = testText.charAt(i);
+ if ((test == '*') || (test == '?'))
+ {
+ prefix.insert(0, test);
+ }
+ else
+ {
+ break;
+ }
+ }
+ String pre = prefix.toString();
+ if (isMlText)
+ {
+ int position = c.termText().indexOf("}");
+ String language = c.termText().substring(0, position + 1);
+ String token = c.termText().substring(position + 1);
+ replace = new org.apache.lucene.analysis.Token(language + pre + token, c.startOffset() - pre.length(), c.endOffset(), c.type());
+ replace.setPositionIncrement(c.getPositionIncrement());
+ }
+ else
+ {
+ replace = new org.apache.lucene.analysis.Token(pre + c.termText(), c.startOffset() - pre.length(), c.endOffset(), c.type());
+ replace.setPositionIncrement(c.getPositionIncrement());
+ }
+ }
+ else
+ {
+ StringBuilder prefix = new StringBuilder();
+ StringBuilder postfix = new StringBuilder();
+ StringBuilder builder = prefix;
+ for (int i = c.startOffset() - 1; i >= replace.endOffset(); i--)
+ {
+ char test = testText.charAt(i);
+ if ((test == '*') || (test == '?'))
+ {
+ builder.insert(0, test);
+ }
+ else
+ {
+ builder = postfix;
+ postfix.setLength(0);
+ }
+ }
+ String pre = prefix.toString();
+ String post = postfix.toString();
+
+ // Does it bridge?
+ if ((pre.length() > 0) && (replace.endOffset() + pre.length()) == c.startOffset())
+ {
+ if (isMlText)
+ {
+ int position = c.termText().indexOf("}");
+ String language = c.termText().substring(0, position + 1);
+ String token = c.termText().substring(position + 1);
+ int oldPositionIncrement = replace.getPositionIncrement();
+ replace = new org.apache.lucene.analysis.Token(replace.termText() + pre + token, replace.startOffset(), c.endOffset(), replace.type());
+ replace.setPositionIncrement(oldPositionIncrement);
+ }
+ else
+ {
+ int oldPositionIncrement = replace.getPositionIncrement();
+ replace = new org.apache.lucene.analysis.Token(replace.termText() + pre + c.termText(), replace.startOffset(), c.endOffset(), replace.type());
+ replace.setPositionIncrement(oldPositionIncrement);
+ }
+ }
+ else
+ {
+ if (isMlText)
+ {
+ int position = c.termText().indexOf("}");
+ String language = c.termText().substring(0, position + 1);
+ String token = c.termText().substring(position + 1);
+ org.apache.lucene.analysis.Token last = new org.apache.lucene.analysis.Token(replace.termText() + post, replace.startOffset(), replace.endOffset()
+ + post.length(), replace.type());
+ last.setPositionIncrement(replace.getPositionIncrement());
+ fixed.add(last);
+ replace = new org.apache.lucene.analysis.Token(language + pre + token, c.startOffset() - pre.length(), c.endOffset(), c.type());
+ replace.setPositionIncrement(c.getPositionIncrement());
+ }
+ else
+ {
+ org.apache.lucene.analysis.Token last = new org.apache.lucene.analysis.Token(replace.termText() + post, replace.startOffset(), replace.endOffset()
+ + post.length(), replace.type());
+ last.setPositionIncrement(replace.getPositionIncrement());
+ fixed.add(last);
+ replace = new org.apache.lucene.analysis.Token(pre + c.termText(), c.startOffset() - pre.length(), c.endOffset(), c.type());
+ replace.setPositionIncrement(c.getPositionIncrement());
+ }
+ }
+ }
+ }
+ }
+ // finish last
+ if (replace != null)
+ {
+ StringBuilder postfix = new StringBuilder();
+ for (int i = replace.endOffset(); i < testText.length(); i++)
+ {
+ char test = testText.charAt(i);
+ if ((test == '*') || (test == '?'))
+ {
+ postfix.append(test);
+ }
+ else
+ {
+ break;
+ }
+ }
+ String post = postfix.toString();
+ int oldPositionIncrement = replace.getPositionIncrement();
+ replace = new org.apache.lucene.analysis.Token(replace.termText() + post, replace.startOffset(), replace.endOffset() + post.length(), replace.type());
+ replace.setPositionIncrement(oldPositionIncrement);
+ fixed.add(replace);
+
+ }
+ }
+
+ // Add in any missing words containsing * and ?
+
+ // reorder by start position and increment
+
+ Collections.sort(fixed, new Comparator()
+ {
+
+ public int compare(Token o1, Token o2)
+ {
+ int dif = o1.startOffset() - o2.startOffset();
+ if (dif != 0)
+ {
+ return dif;
+ }
+ else
+ {
+ return o2.getPositionIncrement() - o1.getPositionIncrement();
+ }
+ }
+ });
+
+ v = fixed;
+
+ if (v.size() == 0)
+ return null;
+ else if (v.size() == 1)
+ {
+ t = (org.apache.lucene.analysis.Token) v.get(0);
+ if (t.termText().contains("*") || t.termText().contains("?"))
+ {
+ return new org.apache.lucene.search.WildcardQuery(new Term(field, t.termText()));
+ }
+ else
+ {
+ return new TermQuery(new Term(field, t.termText()));
+ }
+ }
+ else
+ {
+ if (severalTokensAtSamePosition)
+ {
+ if (positionCount == 1)
+ {
+ // no phrase query:
+ BooleanQuery q = new BooleanQuery(true);
+ for (int i = 0; i < v.size(); i++)
+ {
+ t = (org.apache.lucene.analysis.Token) v.get(i);
+ if (t.termText().contains("*") || t.termText().contains("?"))
+ {
+ org.apache.lucene.search.WildcardQuery currentQuery = new org.apache.lucene.search.WildcardQuery(new Term(field, t.termText()));
+ q.add(currentQuery, BooleanClause.Occur.SHOULD);
+ }
+ else
+ {
+ TermQuery currentQuery = new TermQuery(new Term(field, t.termText()));
+ q.add(currentQuery, BooleanClause.Occur.SHOULD);
+ }
+ }
+ return q;
+ }
+ else
+ {
+ // phrase query:
+ MultiPhraseQuery mpq = new MultiPhraseQuery();
+ mpq.setSlop(phraseSlop);
+ ArrayList multiTerms = new ArrayList();
+ for (int i = 0; i < v.size(); i++)
+ {
+ t = (org.apache.lucene.analysis.Token) v.get(i);
+ if (t.getPositionIncrement() == 1 && multiTerms.size() > 0)
+ {
+ mpq.add((Term[]) multiTerms.toArray(new Term[0]));
+ multiTerms.clear();
+ }
+ Term term = new Term(field, t.termText());
+ if ((t.termText() != null) && (t.termText().contains("*") || t.termText().contains("?")))
+ {
+ addWildcardTerms(multiTerms, term);
+ }
+ else
+ {
+ multiTerms.add(term);
+ }
+ }
+ if (multiTerms.size() > 0)
+ {
+ mpq.add((Term[]) multiTerms.toArray(new Term[0]));
+ }
+ else
+ {
+ mpq.add(new Term[] { new Term(field, "\u0000") });
+ }
+ return mpq;
+ }
+ }
+ else
+ {
+ MultiPhraseQuery q = new MultiPhraseQuery();
+ q.setSlop(phraseSlop);
+ for (int i = 0; i < v.size(); i++)
+ {
+ t = (org.apache.lucene.analysis.Token) v.get(i);
+ Term term = new Term(field, t.termText());
+ if ((t.termText() != null) && (t.termText().contains("*") || t.termText().contains("?")))
+ {
+ q.add(getMatchingTerms(field, term));
+ }
+ else
+ {
+ q.add(term);
+ }
+ }
+ return q;
+ }
+ }
+ }
+
+ private Term[] getMatchingTerms(String field, Term term) throws ParseException
+ {
+ ArrayList terms = new ArrayList();
+ addWildcardTerms(terms, term);
+ if (terms.size() == 0)
+ {
+ return new Term[] { new Term(field, "\u0000") };
+ }
+ else
+ {
+ return terms.toArray(new Term[0]);
+ }
+
+ }
+
+ private void addWildcardTerms(ArrayList terms, Term term) throws ParseException
+ {
+ try
+ {
+ WildcardTermEnum wcte = new WildcardTermEnum(indexReader, term);
+
+ while (!wcte.endEnum())
+ {
+ Term current = wcte.term();
+ if((current.text() != null) && (current.text().length() > 0) && (current.text().charAt(0) == '{'))
+ {
+ if((term != null) && (term.text().length() > 0) && (term.text().charAt(0) == '{'))
+ {
+ terms.add(current);
+ }
+ // If not, we cod not add so wildcards do not match the locale prefix
+ }
+ else
+ {
+ terms.add(current);
+ }
+
+ wcte.next();
+ }
+ }
+ catch (IOException e)
+ {
+ throw new ParseException("IO error generating phares wildcards " + e.getMessage());
+ }
+ }
+
/**
* @exception ParseException
* throw in overridden method to disallow
@@ -586,8 +1127,7 @@ public class LuceneQueryParser extends QueryParser
if (field.startsWith("@"))
{
String fieldName = expandAttributeFieldName(field);
- return new RangeQuery(new Term(fieldName, getToken(fieldName, part1)), new Term(fieldName, getToken(
- fieldName, part2)), inclusive);
+ return new RangeQuery(new Term(fieldName, getToken(fieldName, part1)), new Term(fieldName, getToken(fieldName, part2)), inclusive);
}
else
@@ -612,9 +1152,7 @@ public class LuceneQueryParser extends QueryParser
else
{
// find the prefix
- fieldName = "@{"
- + namespacePrefixResolver.getNamespaceURI(field.substring(1, colonPosition)) + "}"
- + field.substring(colonPosition + 1);
+ fieldName = "@{" + namespacePrefixResolver.getNamespaceURI(field.substring(1, colonPosition)) + "}" + field.substring(colonPosition + 1);
}
}
return fieldName;
@@ -635,9 +1173,7 @@ public class LuceneQueryParser extends QueryParser
else
{
// find the prefix
- fieldName = "{"
- + namespacePrefixResolver.getNamespaceURI(field.substring(0, colonPosition)) + "}"
- + field.substring(colonPosition + 1);
+ fieldName = "{" + namespacePrefixResolver.getNamespaceURI(field.substring(0, colonPosition)) + "}" + field.substring(colonPosition + 1);
}
}
return fieldName;
@@ -780,7 +1316,7 @@ public class LuceneQueryParser extends QueryParser
public Query getSuperFieldQuery(String field, String queryText) throws ParseException
{
- return super.getFieldQuery(field, queryText);
+ return getFieldQueryImpl(field, queryText);
}
public Query getSuperFuzzyQuery(String field, String termStr, float minSimilarity) throws ParseException
@@ -892,11 +1428,10 @@ public class LuceneQueryParser extends QueryParser
// cross language matching for each entry
BooleanQuery booleanQuery = new BooleanQuery();
List locales = searchParameters.getLocales();
- for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil
- .getLocale()) : locales))
+ for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : locales))
{
-
- if(isAnalysed)
+
+ if (isAnalysed)
{
StringBuilder builder = new StringBuilder(queryText.length() + 10);
builder.append("\u0000").append(locale.toString()).append("\u0000").append(queryText);
@@ -913,15 +1448,14 @@ public class LuceneQueryParser extends QueryParser
else
{
// analyse ml text
- MLAnalysisMode analysisMode = searchParameters.getMlAnalaysisMode() == null ? config
- .getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode();
+ MLAnalysisMode analysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode();
// Do the analysis here
- VerbatimAnalyser vba = new VerbatimAnalyser(false);
+ VerbatimAnalyser vba = new VerbatimAnalyser(false);
MLTokenDuplicator duplicator = new MLTokenDuplicator(vba.tokenStream(field, new StringReader(queryText)), locale, null, analysisMode);
Token t;
try
{
- while( (t = duplicator.next()) != null)
+ while ((t = duplicator.next()) != null)
{
Query subQuery = subQueryBuilder.getQuery(expandedFieldName, t.termText());
booleanQuery.add(subQuery, Occur.SHOULD);
@@ -929,15 +1463,15 @@ public class LuceneQueryParser extends QueryParser
}
catch (IOException e)
{
-
+
}
- if(booleanQuery.getClauses().length == 0)
+ if (booleanQuery.getClauses().length == 0)
{
booleanQuery.add(new TermQuery(new Term("NO_TOKENS", "__")), Occur.SHOULD);
}
-
+
}
-
+
}
return booleanQuery;
}
@@ -947,8 +1481,7 @@ public class LuceneQueryParser extends QueryParser
// Build a sub query for each locale and or the results together -
// - add an explicit condition for the locale
- MLAnalysisMode analysisMode = searchParameters.getMlAnalaysisMode() == null ? config
- .getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode();
+ MLAnalysisMode analysisMode = searchParameters.getMlAnalaysisMode() == null ? config.getDefaultMLSearchAnalysisMode() : searchParameters.getMlAnalaysisMode();
if (analysisMode.includesAll())
{
@@ -957,8 +1490,7 @@ public class LuceneQueryParser extends QueryParser
List locales = searchParameters.getLocales();
List expandedLocales = new ArrayList();
- for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil
- .getLocale()) : locales))
+ for (Locale locale : (((locales == null) || (locales.size() == 0)) ? Collections.singletonList(I18NUtil.getLocale()) : locales))
{
expandedLocales.addAll(MLAnalysisMode.getLocales(analysisMode, locale, true));
}
@@ -1008,7 +1540,7 @@ public class LuceneQueryParser extends QueryParser
else
{
Query query = subQueryBuilder.getQuery(expandedFieldName, queryText);
- if(query != null)
+ if (query != null)
{
return query;
}
@@ -1022,7 +1554,7 @@ public class LuceneQueryParser extends QueryParser
else
{
Query query = subQueryBuilder.getQuery(expandedFieldName, queryText);
- if(query != null)
+ if (query != null)
{
return query;
}
diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/AlfrescoStandardAnalyser.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/AlfrescoStandardAnalyser.java
index e9641e702d..6aa22b4de9 100644
--- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/AlfrescoStandardAnalyser.java
+++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/AlfrescoStandardAnalyser.java
@@ -57,7 +57,7 @@ public class AlfrescoStandardAnalyser extends Analyzer
{
stopSet = StopFilter.makeStopSet(stopWords);
}
-
+
/**
* Constructs a {@link StandardTokenizer} filtered by a {@link StandardFilter}, a {@link LowerCaseFilter} and a {@link StopFilter}.
*/
diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java
index 996ce7c1fd..21d4ade4f2 100644
--- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java
+++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/MLTokenDuplicator.java
@@ -61,6 +61,11 @@ public class MLTokenDuplicator extends Tokenizer
}
}
+
+ public MLTokenDuplicator(Locale locale, MLAnalysisMode mlAnalaysisMode)
+ {
+ this(null, locale, null, mlAnalaysisMode);
+ }
@Override
public Token next() throws IOException
@@ -87,6 +92,13 @@ public class MLTokenDuplicator extends Tokenizer
private Iterator buildIterator() throws IOException
{
Token token = source.next();
+ return buildIterator(token);
+
+ }
+
+
+ public Iterator buildIterator(Token token)
+ {
if (token == null)
{
return null;
@@ -110,4 +122,5 @@ public class MLTokenDuplicator extends Tokenizer
}
+
}
diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/NumericEncoder.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/NumericEncoder.java
index 7b248812af..8936e1a693 100644
--- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/NumericEncoder.java
+++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/NumericEncoder.java
@@ -122,6 +122,12 @@ public class NumericEncoder
return decodeFromHex(hex) ^ LONG_SIGN_MASK;
}
+
+ public static int decodeInt(String hex)
+ {
+ return decodeIntFromHex(hex) ^ INTEGER_SIGN_MASK;
+ }
+
/**
* Encode a float into a string that orders correctly according to string
* comparison. Note that there is no negative NaN but there are codings that
@@ -208,6 +214,19 @@ public class NumericEncoder
return l;
}
+ private static int decodeIntFromHex(String hex)
+ {
+ int l = 0;
+ int factor = 1;
+ for(int i = 7; i >= 0; i--, factor <<= 4)
+ {
+ int digit = Character.digit(hex.charAt(i), 16);
+ l += digit*factor;
+ }
+ return l;
+ }
+
+
private static final char[] DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e',
'f' };