From 200ff43d6e1f9a5d88a461cf11de9a2b8bcdc992 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Mon, 29 Jan 2007 15:22:19 +0000 Subject: [PATCH] OpenSearch: - cosmetic changes as suggested by marketing eyes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4958 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ...Description_view_opensearchdescription.ftl | 11 ++++ ...ch_query_.ftl => KeywordSearch_query_.ftl} | 0 ...w_atom.ftl => KeywordSearch_view_atom.ftl} | 16 +++--- .../templates/api/KeywordSearch_view_html.ftl | 54 +++++++++++++++++++ .../templates/api/KeywordSearch_view_rss.ftl | 41 ++++++++++++++ .../templates/api/SearchEngines_view_html.ftl | 24 ++++++--- .../templates/api/Services_view_html.ftl | 15 ++++-- ...Description_view_opensearchdescription.ftl | 11 ---- .../templates/api/TextSearch_view_html.ftl | 35 ------------ .../templates/api/TextSearch_view_rss.ftl | 41 -------------- .../alfresco/web-api-application-context.xml | 12 ++--- config/alfresco/web-api-config.xml | 10 ++-- .../java/org/alfresco/web/api/APIServlet.java | 4 +- .../api/services/APIServiceTemplateImpl.java | 27 ++++++---- .../{TextSearch.java => KeywordSearch.java} | 8 +-- ...ion.java => KeywordSearchDescription.java} | 6 +-- .../web/api/services/SearchEngines.java | 7 ++- 17 files changed, 184 insertions(+), 138 deletions(-) create mode 100644 config/alfresco/templates/api/KeywordSearchDescription_view_opensearchdescription.ftl rename config/alfresco/templates/api/{TextSearch_query_.ftl => KeywordSearch_query_.ftl} (100%) rename config/alfresco/templates/api/{TextSearch_view_atom.ftl => KeywordSearch_view_atom.ftl} (52%) create mode 100644 config/alfresco/templates/api/KeywordSearch_view_html.ftl create mode 100644 config/alfresco/templates/api/KeywordSearch_view_rss.ftl delete mode 100644 config/alfresco/templates/api/TextSearchDescription_view_opensearchdescription.ftl delete mode 100644 config/alfresco/templates/api/TextSearch_view_html.ftl delete mode 100644 config/alfresco/templates/api/TextSearch_view_rss.ftl rename source/java/org/alfresco/web/api/services/{TextSearch.java => KeywordSearch.java} (94%) rename source/java/org/alfresco/web/api/services/{TextSearchDescription.java => KeywordSearchDescription.java} (86%) diff --git a/config/alfresco/templates/api/KeywordSearchDescription_view_opensearchdescription.ftl b/config/alfresco/templates/api/KeywordSearchDescription_view_opensearchdescription.ftl new file mode 100644 index 0000000000..f16dac89b8 --- /dev/null +++ b/config/alfresco/templates/api/KeywordSearchDescription_view_opensearchdescription.ftl @@ -0,0 +1,11 @@ + + + Alfresco Keyword Search + Alfresco ${agent.edition} Keyword Search ${agent.version} + Search Alfresco "company home" using keywords + <#comment>IE takes first template from list, thus html response is listed first + + + + ${request.path}/images/logo/AlfrescoLogo16.ico + \ No newline at end of file diff --git a/config/alfresco/templates/api/TextSearch_query_.ftl b/config/alfresco/templates/api/KeywordSearch_query_.ftl similarity index 100% rename from config/alfresco/templates/api/TextSearch_query_.ftl rename to config/alfresco/templates/api/KeywordSearch_query_.ftl diff --git a/config/alfresco/templates/api/TextSearch_view_atom.ftl b/config/alfresco/templates/api/KeywordSearch_view_atom.ftl similarity index 52% rename from config/alfresco/templates/api/TextSearch_view_atom.ftl rename to config/alfresco/templates/api/KeywordSearch_view_atom.ftl index a73f1031db..bab51d8007 100644 --- a/config/alfresco/templates/api/TextSearch_view_atom.ftl +++ b/config/alfresco/templates/api/KeywordSearch_view_atom.ftl @@ -1,7 +1,7 @@ Alfresco (${agent.edition}) - Alfresco Search: ${search.searchTerms} + Alfresco Keyword Search: ${search.searchTerms} ${xmldate(date)} ${absurl("/images/logo/AlfrescoLogo16.ico")} @@ -12,17 +12,17 @@ ${search.startIndex} ${search.itemsPerPage} - - + + <#if search.startPage > 1> - - + + <#if search.startPage < search.totalPages> - - + + - + <#list search.results as row> ${row.name} diff --git a/config/alfresco/templates/api/KeywordSearch_view_html.ftl b/config/alfresco/templates/api/KeywordSearch_view_html.ftl new file mode 100644 index 0000000000..cf5c3d9a24 --- /dev/null +++ b/config/alfresco/templates/api/KeywordSearch_view_html.ftl @@ -0,0 +1,54 @@ + + + + + Alfresco Keyword Search: ${search.searchTerms} + + + + + + + + + + + + +
AlfrescoAlfresco Keyword Search
+
+ + + + +
Results ${search.startIndex} - ${search.startIndex + search.totalPageItems - 1} of ${search.totalResults} for ${search.searchTerms} visible to user ${request.authenticatedUsername!"unknown"}.
+
+ +<#list search.results as row> + + + + <#if row.properties.description?? == true> + + + + + + +
${row.name}
${row.properties.description}
+
+ + + +<#if search.startPage > 1> + + + +<#if search.startPage < search.totalPages> + + + + +
firstprevious${search.startPage}nextlast
+ + \ No newline at end of file diff --git a/config/alfresco/templates/api/KeywordSearch_view_rss.ftl b/config/alfresco/templates/api/KeywordSearch_view_rss.ftl new file mode 100644 index 0000000000..9cb94126c1 --- /dev/null +++ b/config/alfresco/templates/api/KeywordSearch_view_rss.ftl @@ -0,0 +1,41 @@ + + + + Alfresco Keyword Search: ${search.searchTerms} + ${request.servicePath}/search/keyword?q=${search.searchTerms?url}&p=${search.startPage}&c=${search.itemsPerPage}&l=${search.localeId}&guest=${request.guest?string("true","")}&format=${request.format} + Alfresco Keyword Search: ${search.searchTerms} + ${search.localeId} + ${xmldate(date)} + ${xmldate(date)} + Alfresco ${agent.edition} v${agent.version} + + Alfresco Search: ${search.searchTerms} + 16 + 16 + ${absurl("/images/logo/AlfrescoLogo16.ico")} + + ${search.totalResults} + ${search.startIndex} + ${search.itemsPerPage} + + +<#if search.startPage > 1> + + + +<#if search.startPage < search.totalPages> + + \ No newline at end of file diff --git a/config/alfresco/templates/api/SearchEngines_view_html.ftl b/config/alfresco/templates/api/SearchEngines_view_html.ftl index 4c94498466..a1999105e3 100644 --- a/config/alfresco/templates/api/SearchEngines_view_html.ftl +++ b/config/alfresco/templates/api/SearchEngines_view_html.ftl @@ -2,7 +2,8 @@ - Search Engines registered with Alfresco + + Alfresco Registered Search Engines <#list engines as engine> <#if engine.urlType == "description"> @@ -10,13 +11,22 @@ -

Search Engines registered with Alfresco

-
    + + + + + +
    AlfrescoAlfresco Registered Search Engines
    +
    + + <#list engines as engine> -
  • - ${engine.label} (<#if engine.urlType == "description">OpenSearch Description<#else>Template URL - ${engine.type}) -
  • + + - +
    EngineURL TypeResponse Format
    ${engine.label} + <#if engine.urlType == "description">OpenSearch Description<#else>Template URL + ${engine.type} +
    \ No newline at end of file diff --git a/config/alfresco/templates/api/Services_view_html.ftl b/config/alfresco/templates/api/Services_view_html.ftl index ab473943e8..010254d03f 100644 --- a/config/alfresco/templates/api/Services_view_html.ftl +++ b/config/alfresco/templates/api/Services_view_html.ftl @@ -3,15 +3,20 @@ Alfresco Web APIs + -

    Alfresco Web APIs

    - Alfresco ${agent.edition} v${agent.version}
    -
    - ${services?size} services - Online documentation.
    + + + + + +
    AlfrescoAlfresco Web APIs
    Alfresco ${agent.edition} v${agent.version} +
    ${services?size} services - Online documentation. +

    - + <#list services as service> diff --git a/config/alfresco/templates/api/TextSearchDescription_view_opensearchdescription.ftl b/config/alfresco/templates/api/TextSearchDescription_view_opensearchdescription.ftl deleted file mode 100644 index 94e0ac450f..0000000000 --- a/config/alfresco/templates/api/TextSearchDescription_view_opensearchdescription.ftl +++ /dev/null @@ -1,11 +0,0 @@ - - - Alfresco Text Search - Alfresco ${agent.edition} Text Search ${agent.version} - Search Alfresco "company home" using text keywords - <#comment>IE takes first template from list, thus html response is listed first - - - - ${request.path}/images/logo/AlfrescoLogo16.ico - \ No newline at end of file diff --git a/config/alfresco/templates/api/TextSearch_view_html.ftl b/config/alfresco/templates/api/TextSearch_view_html.ftl deleted file mode 100644 index 37302cdac0..0000000000 --- a/config/alfresco/templates/api/TextSearch_view_html.ftl +++ /dev/null @@ -1,35 +0,0 @@ - - - - - Alfresco Text Search: ${search.searchTerms} - - - - - - -

    Alfresco Text Search

    - Results ${search.startIndex} - ${search.startIndex + search.totalPageItems - 1} of ${search.totalResults} for ${search.searchTerms} visible to user ${request.authenticatedUsername!"unknown"}. -
      -<#list search.results as row> -
    • - - ${row.name} -
      - ${row.properties.description!""} -
      -
    • - -
    - first -<#if search.startPage > 1> - previous - - ${search.startPage} -<#if search.startPage < search.totalPages> - next - - last - - \ No newline at end of file diff --git a/config/alfresco/templates/api/TextSearch_view_rss.ftl b/config/alfresco/templates/api/TextSearch_view_rss.ftl deleted file mode 100644 index 9534c1d4e4..0000000000 --- a/config/alfresco/templates/api/TextSearch_view_rss.ftl +++ /dev/null @@ -1,41 +0,0 @@ - - - - Alfresco Search: ${search.searchTerms} - ${request.servicePath}/search/text?q=${search.searchTerms?url}&p=${search.startPage}&c=${search.itemsPerPage}&l=${search.localeId}&guest=${request.guest?string("true","")}&format=${request.format} - Alfresco Search: ${search.searchTerms} - ${search.localeId} - ${xmldate(date)} - ${xmldate(date)} - Alfresco ${agent.edition} v${agent.version} - - Alfresco Search: ${search.searchTerms} - 16 - 16 - ${absurl("/images/logo/AlfrescoLogo16.ico")} - - ${search.totalResults} - ${search.startIndex} - ${search.itemsPerPage} - - -<#if search.startPage > 1> - - - -<#if search.startPage < search.totalPages> - - \ No newline at end of file diff --git a/config/alfresco/web-api-application-context.xml b/config/alfresco/web-api-application-context.xml index 798810447f..8b883312ec 100644 --- a/config/alfresco/web-api-application-context.xml +++ b/config/alfresco/web-api-application-context.xml @@ -139,14 +139,14 @@ - - - + + + - - - + + + diff --git a/config/alfresco/web-api-config.xml b/config/alfresco/web-api-config.xml index 0fb5ee0fa3..1c5da46223 100644 --- a/config/alfresco/web-api-config.xml +++ b/config/alfresco/web-api-config.xml @@ -22,18 +22,18 @@ - + - /service/search/textsearchdescription.xml + /service/search/keywordsearchdescription.xml - /service/search/text?q={searchTerms}&p={startPage?}&c={count?}&l={language?}&guest={alf:guest?}&format=atom + /service/search/keyword?q={searchTerms}&p={startPage?}&c={count?}&l={language?}&guest={alf:guest?}&format=atom - /service/search/text?q={searchTerms}&p={startPage?}&c={count?}&l={language?}&guest={alf:guest?}&format=rss + /service/search/keyword?q={searchTerms}&p={startPage?}&c={count?}&l={language?}&guest={alf:guest?}&format=rss - /service/search/text?q={searchTerms}&p={startPage?}&c={count?}&l={language?}&guest={alf:guest?} + /service/search/keyword?q={searchTerms}&p={startPage?}&c={count?}&l={language?}&guest={alf:guest?} diff --git a/source/java/org/alfresco/web/api/APIServlet.java b/source/java/org/alfresco/web/api/APIServlet.java index 4c537df5cd..9743abf3db 100644 --- a/source/java/org/alfresco/web/api/APIServlet.java +++ b/source/java/org/alfresco/web/api/APIServlet.java @@ -21,10 +21,10 @@ import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.alfresco.web.app.servlet.BaseServlet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.ApplicationContext; @@ -36,7 +36,7 @@ import org.springframework.web.context.support.WebApplicationContextUtils; * * @author davidc */ -public class APIServlet extends BaseServlet +public class APIServlet extends HttpServlet { private static final long serialVersionUID = 4209892938069597860L; diff --git a/source/java/org/alfresco/web/api/services/APIServiceTemplateImpl.java b/source/java/org/alfresco/web/api/services/APIServiceTemplateImpl.java index cf763b1002..e7946a02fd 100644 --- a/source/java/org/alfresco/web/api/services/APIServiceTemplateImpl.java +++ b/source/java/org/alfresco/web/api/services/APIServiceTemplateImpl.java @@ -22,6 +22,7 @@ import java.io.StringWriter; import java.io.Writer; import java.util.Map; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.cmr.repository.TemplateException; import org.alfresco.web.api.APIException; import org.alfresco.web.api.APIRequest; @@ -114,17 +115,25 @@ public abstract class APIServiceTemplateImpl extends APIServiceImpl /** * Simple test that can be executed outside of web context */ - /*package*/ void test(String format) + /*package*/ void test(final String format) throws IOException { - // create test model - Map model = createTestModel(); - - // render service template to string - StringWriter rendition = new StringWriter(); - PrintWriter writer = new PrintWriter(rendition); - renderTemplate(null, format, model, writer); - System.out.println(rendition.toString()); + AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork() + { + public Object doWork() + { + // create test model + Map model = createTestModel(); + + // render service template to string + StringWriter rendition = new StringWriter(); + PrintWriter writer = new PrintWriter(rendition); + renderTemplate(null, format, model, writer); + System.out.println(rendition.toString()); + + return null; + } + }, AuthenticationUtil.getSystemUserName()); } } diff --git a/source/java/org/alfresco/web/api/services/TextSearch.java b/source/java/org/alfresco/web/api/services/KeywordSearch.java similarity index 94% rename from source/java/org/alfresco/web/api/services/TextSearch.java rename to source/java/org/alfresco/web/api/services/KeywordSearch.java index ca47df386e..4c9010a6a8 100644 --- a/source/java/org/alfresco/web/api/services/TextSearch.java +++ b/source/java/org/alfresco/web/api/services/KeywordSearch.java @@ -43,14 +43,14 @@ import org.apache.commons.logging.LogFactory; /** - * Alfresco Text (simple) Search Service + * Alfresco Keyword (simple) Search Service * * @author davidc */ -public class TextSearch extends APIServiceTemplateImpl +public class KeywordSearch extends APIServiceTemplateImpl { // Logger - private static final Log logger = LogFactory.getLog(TextSearch.class); + private static final Log logger = LogFactory.getLog(KeywordSearch.class); // search parameters // TODO: allow configuration of search store @@ -409,7 +409,7 @@ public class TextSearch extends APIServiceTemplateImpl public static void main(String[] args) throws Exception { - TextSearch service = (TextSearch)APIServiceImpl.getMethod("web.api.TextSearch"); + KeywordSearch service = (KeywordSearch)APIServiceImpl.getMethod("web.api.KeywordSearch"); service.test(APIResponse.HTML_FORMAT); } diff --git a/source/java/org/alfresco/web/api/services/TextSearchDescription.java b/source/java/org/alfresco/web/api/services/KeywordSearchDescription.java similarity index 86% rename from source/java/org/alfresco/web/api/services/TextSearchDescription.java rename to source/java/org/alfresco/web/api/services/KeywordSearchDescription.java index d480e87164..8542a3fc10 100644 --- a/source/java/org/alfresco/web/api/services/TextSearchDescription.java +++ b/source/java/org/alfresco/web/api/services/KeywordSearchDescription.java @@ -25,11 +25,11 @@ import org.alfresco.web.api.APIRequest.RequiredAuthentication; /** - * Provide OpenSearch Description for an Alfresco Text (simple) Search + * Provide OpenSearch Description for an Alfresco Keyword (simple) Search * * @author davidc */ -public class TextSearchDescription extends APIServiceTemplateImpl +public class KeywordSearchDescription extends APIServiceTemplateImpl { /* (non-Javadoc) @@ -79,7 +79,7 @@ public class TextSearchDescription extends APIServiceTemplateImpl public static void main(String[] args) throws Exception { - TextSearchDescription service = (TextSearchDescription)APIServiceImpl.getMethod("web.api.TextSearchDescription"); + KeywordSearchDescription service = (KeywordSearchDescription)APIServiceImpl.getMethod("web.api.KeywordSearchDescription"); service.test(APIResponse.OPENSEARCH_DESCRIPTION_FORMAT); } diff --git a/source/java/org/alfresco/web/api/services/SearchEngines.java b/source/java/org/alfresco/web/api/services/SearchEngines.java index 7c0be7226a..5197fbd7ca 100644 --- a/source/java/org/alfresco/web/api/services/SearchEngines.java +++ b/source/java/org/alfresco/web/api/services/SearchEngines.java @@ -144,8 +144,11 @@ public class SearchEngines extends APIServiceTemplateImpl String labelId = engineConfig.getLabelId(); if (labelId != null && labelId.length() > 0) { - String i18nLabel = I18NUtil.getMessage(labelId); - label = (i18nLabel == null) ? "$$" + labelId + "$$" : i18nLabel; + String i18nLabel = I18NUtil.getMessage(labelId); + if (i18nLabel == null && label == null) + { + label = (i18nLabel == null) ? "$$" + labelId + "$$" : i18nLabel; + } } urls.add(new UrlTemplate(label, type, url)); }
    NameMethodURLAuthenticationDefault Format
    NameMethodURLAuthenticationDefault Format
    ${service.name}${service.httpMethod}${service.httpUri}${service.requiredAuthentication}${service.defaultFormat}
      [${service.description}]