Merged HEAD-BUG-FIX (Cloud33/4.3) to HEAD (Cloud33/4.3)

62931: Merged PLATFORM1 (Cloud33) to HEAD-BUG-FIX (Cloud33/4.3)
      62696: ACE-480  Split Data-Model into Lucene Independent and Legacy Lucene Project


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@62986 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2014-02-20 14:59:18 +00:00
parent fdb5f7bff5
commit 91acc8e050
4 changed files with 13 additions and 12 deletions

View File

@@ -39,6 +39,7 @@ import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.ISO9075; import org.alfresco.util.ISO9075;
import org.alfresco.util.SearchLanguageConversion;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@@ -203,7 +204,7 @@ public class SearchContext implements Serializable
if (text.charAt(0) == '"' && text.charAt(text.length() - 1) == '"') if (text.charAt(0) == '"' && text.charAt(text.length() - 1) == '"')
{ {
// as a single quoted phrase // as a single quoted phrase
String quotedSafeText = '"' + QueryParser.escape(text.substring(1, text.length() - 1)) + '"'; String quotedSafeText = '"' + SearchLanguageConversion.escapeLuceneQuery(text.substring(1, text.length() - 1)) + '"';
if (appendText) if (appendText)
{ {
plBuf.append("TEXT:").append(quotedSafeText); plBuf.append("TEXT:").append(quotedSafeText);
@@ -339,7 +340,7 @@ public class SearchContext implements Serializable
String escapedName = Repository.escapeQName(qname); String escapedName = Repository.escapeQName(qname);
String value = queryFixedValues.get(qname); String value = queryFixedValues.get(qname);
attributeQuery.append(" +@").append(escapedName) attributeQuery.append(" +@").append(escapedName)
.append(":\"").append(QueryParser.escape(value)).append('"'); .append(":\"").append(SearchLanguageConversion.escapeLuceneQuery(value)).append('"');
} }
} }
@@ -354,8 +355,8 @@ public class SearchContext implements Serializable
{ {
String escapedName = Repository.escapeQName(qname); String escapedName = Repository.escapeQName(qname);
RangeProperties rp = rangeAttributes.get(qname); RangeProperties rp = rangeAttributes.get(qname);
String value1 = QueryParser.escape(rp.lower); String value1 = SearchLanguageConversion.escapeLuceneQuery(rp.lower);
String value2 = QueryParser.escape(rp.upper); String value2 = SearchLanguageConversion.escapeLuceneQuery(rp.upper);
attributeQuery.append(" +@").append(escapedName) attributeQuery.append(" +@").append(escapedName)
.append(":").append(rp.inclusive ? "[" : "{").append(value1) .append(":").append(rp.inclusive ? "[" : "{").append(value1)
.append(" TO ").append(value2).append(rp.inclusive ? "]" : "}"); .append(" TO ").append(value2).append(rp.inclusive ? "]" : "}");

View File

@@ -33,7 +33,6 @@ import javax.transaction.UserTransaction;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.node.archive.RestoreNodeReport; import org.alfresco.repo.node.archive.RestoreNodeReport;
import org.alfresco.repo.node.archive.RestoreNodeReport.RestoreStatus; import org.alfresco.repo.node.archive.RestoreNodeReport.RestoreStatus;
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
import org.alfresco.repo.web.scripts.FileTypeImageUtils; import org.alfresco.repo.web.scripts.FileTypeImageUtils;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.ContentData; import org.alfresco.service.cmr.repository.ContentData;
@@ -47,6 +46,7 @@ import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.CachingDateFormat; import org.alfresco.util.CachingDateFormat;
import org.alfresco.util.SearchLanguageConversion;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.context.IContextListener; import org.alfresco.web.app.context.IContextListener;
import org.alfresco.web.app.context.UIContextService; import org.alfresco.web.app.context.UIContextService;
@@ -618,7 +618,7 @@ public class TrashcanDialog extends BaseDialogBean implements IContextListener
else else
{ {
// search by name in the archive store // search by name in the archive store
String safeText = AbstractLuceneQueryParser.escape(property.getSearchText()); String safeText = SearchLanguageConversion.escapeLuceneQuery(property.getSearchText());
if (safeText.indexOf(' ') == -1) if (safeText.indexOf(' ') == -1)
{ {
if (property.isFullTextSearch()) if (property.isFullTextSearch())
@@ -680,8 +680,8 @@ public class TrashcanDialog extends BaseDialogBean implements IContextListener
if (fromDate != null) if (fromDate != null)
{ {
SimpleDateFormat df = CachingDateFormat.getDateFormat(); SimpleDateFormat df = CachingDateFormat.getDateFormat();
String strFromDate = AbstractLuceneQueryParser.escape(df.format(fromDate)); String strFromDate = SearchLanguageConversion.escapeLuceneQuery(df.format(fromDate));
String strToDate = AbstractLuceneQueryParser.escape(df.format(toDate)); String strToDate = SearchLanguageConversion.escapeLuceneQuery(df.format(toDate));
StringBuilder buf = new StringBuilder(128); StringBuilder buf = new StringBuilder(128);
buf.append("@").append(DATE_ATTR) buf.append("@").append(DATE_ATTR)
.append(":").append("[").append(strFromDate) .append(":").append("[").append(strFromDate)

View File

@@ -51,7 +51,6 @@ import org.alfresco.jlan.server.filesys.FilesystemsConfigSection;
import org.alfresco.model.ApplicationModel; import org.alfresco.model.ApplicationModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.model.filefolder.FileFolderServiceImpl.InvalidTypeException; import org.alfresco.repo.model.filefolder.FileFolderServiceImpl.InvalidTypeException;
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
import org.alfresco.repo.security.permissions.AccessDeniedException; import org.alfresco.repo.security.permissions.AccessDeniedException;
import org.alfresco.repo.webdav.WebDAVHelper; import org.alfresco.repo.webdav.WebDAVHelper;
import org.alfresco.repo.webdav.WebDAVServlet; import org.alfresco.repo.webdav.WebDAVServlet;
@@ -69,6 +68,7 @@ import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.EqualsHelper; import org.alfresco.util.EqualsHelper;
import org.alfresco.util.Pair; import org.alfresco.util.Pair;
import org.alfresco.util.SearchLanguageConversion;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.servlet.DownloadContentServlet; import org.alfresco.web.app.servlet.DownloadContentServlet;
import org.alfresco.web.app.servlet.ExternalAccessServlet; import org.alfresco.web.app.servlet.ExternalAccessServlet;
@@ -1232,7 +1232,7 @@ public final class Utils extends StringUtils
// define the query to find people by their first or last name // define the query to find people by their first or last name
for (StringTokenizer t = new StringTokenizer(term.trim(), " "); t.hasMoreTokens(); /**/) for (StringTokenizer t = new StringTokenizer(term.trim(), " "); t.hasMoreTokens(); /**/)
{ {
String token = AbstractLuceneQueryParser.escape(t.nextToken()); String token = SearchLanguageConversion.escapeLuceneQuery(t.nextToken());
query.append("+TYPE:\"").append(ContentModel.TYPE_PERSON).append("\" "); query.append("+TYPE:\"").append(ContentModel.TYPE_PERSON).append("\" ");
query.append("+(@").append(NamespaceService.CONTENT_MODEL_PREFIX).append("\\:firstName:\"*"); query.append("+(@").append(NamespaceService.CONTENT_MODEL_PREFIX).append("\\:firstName:\"*");
query.append(token); query.append(token);

View File

@@ -29,7 +29,6 @@ import javax.faces.context.ResponseWriter;
import javax.faces.el.ValueBinding; import javax.faces.el.ValueBinding;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.LimitBy;
@@ -38,6 +37,7 @@ import org.alfresco.service.cmr.search.SearchParameters;
import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.SearchLanguageConversion;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
@@ -348,7 +348,7 @@ public class UIContentSelector extends UIInput
if (contains != null && contains.length() > 0) if (contains != null && contains.length() > 0)
{ {
String safeContains = AbstractLuceneQueryParser.escape(contains.trim()); String safeContains = SearchLanguageConversion.escapeLuceneQuery(contains.trim());
query.append(" AND +@"); query.append(" AND +@");
String nameAttr = Repository.escapeQName(QName.createQName( String nameAttr = Repository.escapeQName(QName.createQName(