From 9dc865548d433fc05143c3b4b4f896302c19c4ca Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Fri, 13 Jan 2006 17:10:34 +0000 Subject: [PATCH] . Serialized saved searches now include the generated lucene string as part of the XML git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2112 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/web/bean/SearchContext.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/web/bean/SearchContext.java b/source/java/org/alfresco/web/bean/SearchContext.java index 357782371a..b026a5574b 100644 --- a/source/java/org/alfresco/web/bean/SearchContext.java +++ b/source/java/org/alfresco/web/bean/SearchContext.java @@ -76,6 +76,7 @@ public final class SearchContext implements Serializable private static final String ELEMENT_MODE = "mode"; private static final String ELEMENT_TEXT = "text"; private static final String ELEMENT_SEARCH = "search"; + private static final String ELEMENT_QUERY = "query"; /** Search mode constants */ public final static int SEARCH_ALL = 0; @@ -135,7 +136,7 @@ public final class SearchContext implements Serializable String fullTextQuery = null; String nameAttrQuery = null; - if (text.length() >= minimum) + if (text.length() != 0 && text.length() >= minimum) { if (text.indexOf(' ') == -1) { @@ -234,7 +235,7 @@ public final class SearchContext implements Serializable for (QName qname : queryAttributes.keySet()) { String value = queryAttributes.get(qname).trim(); - if (value.length() >= minimum) + if (value.length() != 0 && value.length() >= minimum) { String escapedName = Repository.escapeQName(qname); attributeQuery.append(" +@").append(escapedName) @@ -312,7 +313,7 @@ public final class SearchContext implements Serializable // match against FOLDER type String folderTypeQuery = " TYPE:\"{" + NamespaceService.CONTENT_MODEL_1_0_URI + "}folder\" "; - if (text.length() >= minimum) + if (text.length() != 0 && text.length() >= minimum) { // text query for name and/or full text specified switch (mode) @@ -611,6 +612,7 @@ public final class SearchContext implements Serializable * * String * + * CDATA * * */ @@ -673,6 +675,14 @@ public final class SearchContext implements Serializable .addCDATA(this.queryFixedValues.get(valueName)); } + // outputing the full lucene query may be useful for some situations + Element query = root.addElement(ELEMENT_QUERY); + String queryString = buildQuery(0); + if (queryString != null) + { + query.addCDATA(queryString); + } + StringWriter out = new StringWriter(1024); XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint()); writer.setWriter(out);